﻿1
00:00:01,210 --> 00:00:04,730
‫Jonas: Di bagian kedua dari mengunggah gambar tur ini,

2
00:00:04,730 --> 00:00:06,943
‫kami sekarang akan memproses semuanya.

3
00:00:08,670 --> 00:00:10,300
‫Tetapi sebelum kita mulai

4
00:00:10,300 --> 00:00:12,330
‫melakukannya, sebenarnya ada sesuatu yang

5
00:00:12,330 --> 00:00:14,500
‫perlu saya perbaiki di pengontrol pengguna.

6
00:00:14,500 --> 00:00:18,530
‫Dan sebenarnya dalam resizeUserPhoto ini, dan itu

7
00:00:18,530 --> 00:00:21,110
‫adalah bahwa kita benar-benar

8
00:00:21,110 --> 00:00:25,210
‫perlu menunggu seluruh operasi ini di sini, oke?

9
00:00:25,210 --> 00:00:28,940
‫Jadi semua ini di sini benar-benar akan mengembalikan janji, dan

10
00:00:28,940 --> 00:00:30,640
‫itu masuk akal, benar,

11
00:00:30,640 --> 00:00:33,950
‫karena semua operasi ini di sini, membutuhkan waktu, dan

12
00:00:33,950 --> 00:00:36,460
‫tentu saja terjadi di latar belakang.

13
00:00:36,460 --> 00:00:38,390
‫Jadi mereka adalah kode

14
00:00:38,390 --> 00:00:41,850
‫asinkron, dan jelas mereka tidak boleh memblokir loop acara.

15
00:00:41,850 --> 00:00:43,940
‫Sekarang masalahnya di sini

16
00:00:43,940 --> 00:00:46,260
‫adalah bahwa sekarang kita memanggil fungsi

17
00:00:46,260 --> 00:00:49,030
‫berikutnya di sini, jadi middleware berikutnya, tanpa benar-benar

18
00:00:49,030 --> 00:00:51,330
‫menunggu operasi ini selesai di sini.

19
00:00:51,330 --> 00:00:53,380
‫Dan itu bukan ide yang bagus.

20
00:00:53,380 --> 00:00:55,653
‫Jadi mari kita gunakan

21
00:00:56,800 --> 00:01:01,483
‫menunggu di sini, dan tentu saja async, dan semua itu.

22
00:01:02,520 --> 00:01:04,483
‫Jadi tangkap Async di sini.

23
00:01:07,110 --> 00:01:11,020
‫Baiklah, simpan saja, dan itu jauh lebih baik.

24
00:01:11,020 --> 00:01:12,930
‫Jadi sekarang kita sebenarnya akan

25
00:01:12,930 --> 00:01:15,580
‫melakukan sesuatu yang sangat mirip dengan gambar tur kita.

26
00:01:15,580 --> 00:01:18,150
‫Jadi biarkan saya melanjutkan dan menyalin ini.

27
00:01:20,850 --> 00:01:22,540
‫Baiklah, dan meskipun

28
00:01:22,540 --> 00:01:26,923
‫tidak akan sama persis, ada baiknya sudah memilikinya di sini.

29
00:01:28,760 --> 00:01:31,113
‫Jadi yang ini juga akan menjadi fungsi async.

30
00:01:36,440 --> 00:01:39,320
‫Baiklah, sekarang seperti sebelumnya, jika tidak ada

31
00:01:39,320 --> 00:01:41,740
‫gambar yang diunggah, maka kita

32
00:01:41,740 --> 00:01:44,390
‫ingin langsung pindah ke middleware berikutnya.

33
00:01:45,770 --> 00:01:50,290
‫Jadi jika tidak ada permintaan. file, dan sebenarnya saya

34
00:01:50,290 --> 00:01:52,620
‫akan mengambil satu langkah lebih

35
00:01:52,620 --> 00:01:55,300
‫jauh, mengharuskan ada sampul gambar dan

36
00:01:55,300 --> 00:01:56,690
‫juga gambar.

37
00:01:56,690 --> 00:01:59,450
‫Jadi pada dasarnya kami ingin pindah ke middleware berikutnya jika

38
00:01:59,450 --> 00:02:02,663
‫tidak ada permintaan. file. imageCover,

39
00:02:06,150 --> 00:02:11,150
‫atau tidak ada permintaan. file. gambar-gambar.

40
00:02:15,240 --> 00:02:18,463
‫Jadi dalam hal ini, selanjutnya.

41
00:02:20,840 --> 00:02:24,003
‫Oke, dan sekarang mari kita mulai dengan

42
00:02:26,860 --> 00:02:31,420
‫memproses gambar sampul, dan kemudian semua gambar lainnya dalam satu lingkaran,

43
00:02:31,420 --> 00:02:32,623
‫pada dasarnya.

44
00:02:34,220 --> 00:02:36,170
‫Jadi gambar lainnya.

45
00:02:36,170 --> 00:02:39,550
‫Sekarang di mana kita sebenarnya mendapatkan gambar sampul?

46
00:02:39,550 --> 00:02:44,460
‫Yah ingat bagaimana saya mengatakan bahwa itu atas permintaan. file?

47
00:02:44,460 --> 00:02:47,403
‫Tidak ada lagi file, dan kemudian . coverImage,

48
00:02:49,080 --> 00:02:50,610
‫atau sebenarnya imageCover.

49
00:02:50,610 --> 00:02:52,653
‫Dan kemudian ingat bagaimana itu array?

50
00:02:53,610 --> 00:02:56,113
‫Jadi mari kita lihat itu sekali lagi.

51
00:02:58,850 --> 00:03:02,170
‫Benar, jadi semua ini adalah permintaan. file, dan

52
00:03:02,170 --> 00:03:05,161
‫kemudian dari sana kita mengambil imageCover, dan

53
00:03:05,161 --> 00:03:07,950
‫itu adalah array dari satu elemen.

54
00:03:07,950 --> 00:03:11,710
‫Dan sekarang kita menginginkan elemen nomor nol, dan

55
00:03:11,710 --> 00:03:13,780
‫kemudian . penyangga.

56
00:03:13,780 --> 00:03:17,120
‫Jadi ini terlihat aneh di sini.

57
00:03:17,120 --> 00:03:20,750
‫Lalu kita ingin mengubah ukurannya menjadi

58
00:03:20,750 --> 00:03:23,710
‫rasio 2/3, dan lebarnya

59
00:03:23,710 --> 00:03:28,090
‫menjadi 2.000 piksel, dan tingginya 1.333, oke?

60
00:03:28,090 --> 00:03:31,380
‫Dan sekali lagi, itu adalah rasio 3/2 yang bagus,

61
00:03:31,380 --> 00:03:33,750
‫yang sangat umum dalam gambar.

62
00:03:33,750 --> 00:03:38,687
‫Selanjutnya, kami juga ingin memformatnya sebagai JPEG dengan kualitas 90%, dan

63
00:03:38,687 --> 00:03:40,820
‫kemudian menyimpannya sebagai file.

64
00:03:40,820 --> 00:03:43,763
‫Tapi kali ini untuk image/tour, dan di

65
00:03:45,828 --> 00:03:49,230
‫sini mari kita definisikan nama file kita secara terpisah.

66
00:03:50,890 --> 00:03:54,480
‫Baiklah, karena kita sebenarnya akan membutuhkannya lagi.

67
00:03:54,480 --> 00:03:56,557
‫Jadi imageCoverFilename, dan sekali

68
00:04:00,330 --> 00:04:04,110
‫lagi sekarang kita perlu membuat nama file yang unik.

69
00:04:04,110 --> 00:04:08,070
‫Jadi sekarang tur, dan mari kita masukkan lagi

70
00:04:08,070 --> 00:04:12,380
‫ID tur di sini, di mana sebelumnya adalah ID pengguna.

71
00:04:12,380 --> 00:04:16,010
‫Dan itu atas permintaan. params, jadi ingatlah bahwa

72
00:04:16,010 --> 00:04:17,770
‫rute ini akan selalu

73
00:04:17,770 --> 00:04:20,140
‫berisi ID tur, dan karena itu

74
00:04:20,140 --> 00:04:24,393
‫berdasarkan permintaan. param Indo.

75
00:04:26,290 --> 00:04:31,290
‫Kemudian lagi cap waktu, Tanggal. sekarang, dan

76
00:04:33,810 --> 00:04:38,060
‫katakanlah ini adalah gambar sampul, oke?

77
00:04:38,060 --> 00:04:40,720
‫Dan yang lain kemudian akan mendapatkan beberapa nomor.

78
00:04:40,720 --> 00:04:44,843
‫Dan kemudian tentu saja. jpeg, jadi mari kita gunakan di sini.

79
00:04:45,890 --> 00:04:47,807
‫Jadi imageCoverFilename.

80
00:04:49,130 --> 00:04:52,100
‫Oke, dan sekarang sebagai satu langkah terakhir,

81
00:04:52,100 --> 00:04:53,720
‫kita sebenarnya perlu

82
00:04:53,720 --> 00:04:55,660
‫memungkinkan pengelola tur pembaruan

83
00:04:55,660 --> 00:04:59,230
‫kita mengambil nama file sampul gambar ini untuk memperbaruinya

84
00:04:59,230 --> 00:05:01,680
‫di dokumen tur saat ini, oke?

85
00:05:01,680 --> 00:05:03,290
‫Jadi mari

86
00:05:03,290 --> 00:05:06,830
‫kita cepat melihat bagaimana dokumen sebenarnya diperbarui.

87
00:05:06,830 --> 00:05:08,780
‫Jadi kami sangat

88
00:05:08,780 --> 00:05:11,290
‫sederhana menggunakan fungsi pabrik updateOne ini.

89
00:05:11,290 --> 00:05:14,430
‫Dan yang itu sebenarnya hanya akan memperbarui semua data

90
00:05:14,430 --> 00:05:17,163
‫yang ada di badan ke dokumen baru.

91
00:05:18,460 --> 00:05:21,670
‫Jadi hanya untuk membuktikan bahwa untuk Anda di sini.

92
00:05:21,670 --> 00:05:26,670
‫Jadi updateOne, dibutuhkan di seluruh permintaan. tubuh, oke?

93
00:05:26,730 --> 00:05:29,920
‫Jadi sekarang rahasianya adalah untuk benar-benar menempatkan nama file

94
00:05:29,920 --> 00:05:34,313
‫sampul gambar ini berdasarkan permintaan. tubuh, oke?

95
00:05:36,720 --> 00:05:39,760
‫Jadi permintaan. tubuh. gambar sampul.

96
00:05:41,840 --> 00:05:45,270
‫Oh dan lagi, itu disebut

97
00:05:45,270 --> 00:05:49,850
‫imageCover, harus sama dengan imageCoverFilename, oke, masuk akal?

98
00:05:52,350 --> 00:05:54,350
‫Dan tentu saja disebut imageCover

99
00:05:54,350 --> 00:05:57,710
‫karena itulah nama yang kami miliki dalam definisi skema kami.

100
00:05:57,710 --> 00:05:59,730
‫Dan kemudian ketika melakukan

101
00:05:59,730 --> 00:06:02,280
‫pembaruan, itu akan mencocokkan bidang ini di

102
00:06:02,280 --> 00:06:04,530
‫tubuh dengan bidang di database kami.

103
00:06:04,530 --> 00:06:06,920
‫Dan sebenarnya kita bisa refactor ini sedikit

104
00:06:06,920 --> 00:06:10,950
‫karena kita tidak benar-benar membutuhkan nama variabel ini di sini sama sekali.

105
00:06:10,950 --> 00:06:15,113
‫Jadi kita bisa meletakkan nama file ini di sini tepat di badan.

106
00:06:16,040 --> 00:06:20,260
‫Jadi taruh itu di sini, dan kemudian gunakan di sini segera.

107
00:06:20,260 --> 00:06:23,390
‫Jadi kita tidak membutuhkan baris kode ini sama sekali.

108
00:06:23,390 --> 00:06:27,430
‫Bagus, dan sekarang sebelum beralih ke gambar lainnya, mari kita uji

109
00:06:27,430 --> 00:06:29,940
‫dengan apa yang sudah kita miliki

110
00:06:29,940 --> 00:06:30,903
‫saat ini.

111
00:06:31,980 --> 00:06:35,080
‫Jadi mari kita singkirkan konsol ini. log, dan

112
00:06:35,080 --> 00:06:37,170
‫jadi ketika kita sekarang melakukan

113
00:06:37,170 --> 00:06:40,100
‫permintaan, maka gambar sampul kita harus

114
00:06:40,100 --> 00:06:43,950
‫sudah diunggah dan dimasukkan ke dalam dokumen tur, oke?

115
00:06:43,950 --> 00:06:46,870
‫Jadi tiga gambar lainnya di sini tentu saja tidak, tetapi

116
00:06:46,870 --> 00:06:48,300
‫setidaknya sampul gambar sekarang

117
00:06:48,300 --> 00:06:50,183
‫harus berfungsi pada titik ini, setidaknya

118
00:06:51,340 --> 00:06:53,253
‫jika kita melakukan semuanya dengan benar.

119
00:06:54,410 --> 00:06:56,863
‫Jadi mari kita lihat apakah itu ada di suatu

120
00:06:57,760 --> 00:06:59,963
‫tempat di sini, dan gambarnya jelas masih kosong.

121
00:07:00,970 --> 00:07:05,970
‫Tapi saya sedang mencari gambar sampul sekarang, jadi di mana itu?

122
00:07:06,640 --> 00:07:09,280
‫Dan ini dia, jadi imageCover, dan itu

123
00:07:09,280 --> 00:07:11,843
‫sangat mirip dengan nama file yang

124
00:07:11,843 --> 00:07:13,970
‫baru saja kita tentukan.

125
00:07:13,970 --> 00:07:18,970
‫Dan mari kita coba memuat ulang semua halaman tur kami di sini, dan mungkin tur

126
00:07:21,130 --> 00:07:23,550
‫baru kami sudah ada di sini.

127
00:07:23,550 --> 00:07:28,430
‫Ah, ini dia, jadi itu tur biker gunung yang baru.

128
00:07:28,430 --> 00:07:32,180
‫Dan ini memang gambar yang baru saja kita upload.

129
00:07:32,180 --> 00:07:34,090
‫Sangat cantik.

130
00:07:34,090 --> 00:07:36,300
‫Sekarang jika kita mencoba

131
00:07:36,300 --> 00:07:40,870
‫membuka halaman ini, maka gambar lainnya tidak ada di sini, oke?

132
00:07:40,870 --> 00:07:42,780
‫Jadi mereka tidak bisa ditemukan,

133
00:07:42,780 --> 00:07:45,513
‫dan tentu saja itulah yang akan kita lakukan selanjutnya.

134
00:07:47,520 --> 00:07:48,353
‫Baiklah.

135
00:07:50,340 --> 00:07:52,820
‫Jadi ingatlah bahwa gambar

136
00:07:52,820 --> 00:07:55,700
‫kita di sini juga merupakan larik,

137
00:07:55,700 --> 00:07:59,360
‫yang kemudian berisi semua unggahan file baru ini.

138
00:07:59,360 --> 00:08:01,500
‫Jadi sekarang mari kita benar-benar menggunakan loop

139
00:08:01,500 --> 00:08:03,833
‫untuk memproses masing-masing dari mereka dalam satu iterasi.

140
00:08:04,900 --> 00:08:09,700
‫Jadi permintaan. file. gambar-gambar. untuk setiap.

141
00:08:14,330 --> 00:08:15,810
‫Dan kemudian fungsi panggilan

142
00:08:15,810 --> 00:08:18,823
‫balik kami di mana kami mendapatkan akses ke file saat ini.

143
00:08:21,200 --> 00:08:23,780
‫Baiklah, sekarang di sini kita benar-benar perlu

144
00:08:23,780 --> 00:08:26,560
‫membuat nama file saat ini, dan Anda akan

145
00:08:26,560 --> 00:08:28,210
‫melihat alasannya dalam sedetik.

146
00:08:29,550 --> 00:08:33,850
‫Jadi nama file sama, dan kemudian sesuatu yang sangat mirip dengan ini.

147
00:08:35,758 --> 00:08:38,160
‫Bedanya sekarang bukan cover, tapi

148
00:08:38,160 --> 00:08:41,230
‫malah kita sebut satu, dua dan tiga.

149
00:08:41,230 --> 00:08:43,040
‫Jadi dalam fungsi panggilan

150
00:08:43,040 --> 00:08:47,173
‫balik kami, kami sebenarnya juga mendapatkan akses ke indeks saat ini, oke?

151
00:08:48,920 --> 00:08:53,920
‫Jadi kita membutuhkan file, dan I untuk index.

152
00:08:54,220 --> 00:08:57,923
‫Jadi ini bukan cover, tapi index plus one.

153
00:09:00,330 --> 00:09:04,240
‫Jadi plus satu, dan itu

154
00:09:04,240 --> 00:09:09,010
‫hanya karena indeks ini berbasis nol, oke?

155
00:09:09,010 --> 00:09:11,693
‫Selanjutnya adalah langkah pemrosesan itu sendiri, yang sekali

156
00:09:13,060 --> 00:09:15,603
‫lagi sangat mirip dengan yang ini.

157
00:09:17,400 --> 00:09:21,873
‫Dan sekarang tentu saja kita perlu menandai ini sebagai async juga.

158
00:09:23,660 --> 00:09:27,083
‫Baiklah, dan di bawah ini adalah nama filenya.

159
00:09:29,360 --> 00:09:33,570
‫Oke, sekarang mengapa kita benar-benar membutuhkan nama file ini?

160
00:09:33,570 --> 00:09:37,250
‫Kami membutuhkannya karena sekarang kami perlu memasukkan nama file

161
00:09:37,250 --> 00:09:42,250
‫ini ke dalam permintaan. tubuh. gambar, dan itulah logika yang sama persis seperti yang kami

162
00:09:42,280 --> 00:09:45,913
‫miliki di sini sebelumnya berdasarkan permintaan. tubuh. gambarSampul.

163
00:09:47,040 --> 00:09:49,020
‫Jadi ingatlah bahwa dalam koleksi

164
00:09:49,020 --> 00:09:52,870
‫kami, request. tubuh. gambar sebenarnya adalah array.

165
00:09:52,870 --> 00:09:55,610
‫Jadi sekarang kita perlu membuat array itu dan

166
00:09:55,610 --> 00:09:57,343
‫memulainya sebagai array kosong.

167
00:09:58,400 --> 00:10:01,430
‫Jadi permintaan. tubuh. gambar sebagai

168
00:10:03,870 --> 00:10:07,150
‫array kosong, dan kemudian di setiap iterasi kami

169
00:10:07,150 --> 00:10:09,720
‫kemudian akan mendorong nama file saat

170
00:10:09,720 --> 00:10:11,770
‫ini ke array gambar ini.

171
00:10:11,770 --> 00:10:15,070
‫Jadi permintaan. tubuh. gambar-gambar.

172
00:10:19,580 --> 00:10:23,370
‫Dorong, nama file, oke?

173
00:10:23,370 --> 00:10:25,100
‫Dan dengan ini kita hampir selesai.

174
00:10:25,100 --> 00:10:27,020
‫Hanya ada satu masalah kecil, yaitu

175
00:10:27,020 --> 00:10:28,530
‫fakta bahwa kita sebenarnya tidak

176
00:10:28,530 --> 00:10:31,710
‫menggunakan async waiting dengan benar di sini dalam kasus ini,

177
00:10:31,710 --> 00:10:33,200
‫jadi dalam loop ini.

178
00:10:33,200 --> 00:10:35,560
‫Dan itu karena async menunggu di

179
00:10:35,560 --> 00:10:38,450
‫sini hanya di dalam fungsi panggilan balik

180
00:10:38,450 --> 00:10:40,550
‫dari loop foreach ini.

181
00:10:40,550 --> 00:10:42,880
‫Dan itu sebenarnya tidak akan

182
00:10:42,880 --> 00:10:46,300
‫menghentikan kode untuk bergerak tepat di sebelah baris ini

183
00:10:46,300 --> 00:10:49,390
‫di mana kita kemudian memanggil middleware berikutnya, oke?

184
00:10:49,390 --> 00:10:52,510
‫Jadi sekali lagi, saat ini kita sebenarnya tidak sedang menunggu

185
00:10:52,510 --> 00:10:55,940
‫semua ini di sini, sekali lagi, karena penantian asinkron ini

186
00:10:55,940 --> 00:10:58,000
‫terjadi di dalam fungsi panggilan

187
00:10:58,000 --> 00:11:00,440
‫balik dari salah satu metode loop ini.

188
00:11:00,440 --> 00:11:03,310
‫Dan kita sebenarnya pernah mengalami masalah seperti ini

189
00:11:03,310 --> 00:11:06,040
‫sebelumnya, tetapi untungnya ada solusi untuk ini,

190
00:11:06,040 --> 00:11:08,970
‫karena karena ini adalah fungsi asinkron di sini,

191
00:11:08,970 --> 00:11:11,470
‫ia akan mengembalikan janji baru.

192
00:11:11,470 --> 00:11:13,610
‫Jadi jika kita membuat

193
00:11:13,610 --> 00:11:17,210
‫peta, kita dapat menyimpan array dari semua janji ini.

194
00:11:17,210 --> 00:11:18,910
‫Dan kemudian jika kita memiliki array,

195
00:11:18,910 --> 00:11:22,190
‫kita dapat menggunakan janji. semua untuk menunggu mereka semua.

196
00:11:22,190 --> 00:11:24,530
‫Dan dengan itu kita akan benar-benar

197
00:11:24,530 --> 00:11:27,000
‫menunggu sampai semua kode ini, dan

198
00:11:27,000 --> 00:11:29,340
‫dalam hal ini, sampai semua pemrosesan

199
00:11:29,340 --> 00:11:32,180
‫gambar ini selesai, dan baru kemudian pindah ke

200
00:11:32,180 --> 00:11:34,290
‫baris berikutnya, yang memanggil

201
00:11:34,290 --> 00:11:37,000
‫middleware berikutnya untuk benar-benar memperbarui dokumen tur.

202
00:11:37,000 --> 00:11:38,960
‫Dan jika kita tidak melakukan

203
00:11:38,960 --> 00:11:41,020
‫itu dalam kasus ini, itu benar-benar

204
00:11:41,020 --> 00:11:44,090
‫tidak akan berhasil sama sekali, karena tanpa ini mendorong

205
00:11:44,090 --> 00:11:48,260
‫di sini, permintaan. tubuh. gambar akan tetap kosong saat

206
00:11:48,260 --> 00:11:49,460
‫kita panggil selanjutnya.

207
00:11:49,460 --> 00:11:51,880
‫Oleh karena itu, tidak satu pun dari

208
00:11:51,880 --> 00:11:55,260
‫nama gambar ini yang akan disimpan ke dalam dokumen, oke?

209
00:11:55,260 --> 00:11:57,630
‫Jadi sekarang mari kita gunakan janji. semua, dan

210
00:11:57,630 --> 00:12:02,250
‫sebenarnya saya bahkan tidak menyimpan array ini di sini ke variabel apa pun,

211
00:12:02,250 --> 00:12:06,340
‫sebagai gantinya saya akan menggunakan janji. semua segera tentang

212
00:12:06,340 --> 00:12:07,913
‫ini.

213
00:12:09,030 --> 00:12:14,030
‫Jadi tunggu Janji. semua di array

214
00:12:15,010 --> 00:12:17,963
‫kembali dari ini, oke?

215
00:12:19,870 --> 00:12:21,906
‫Jadi saya harap itu masuk akal.

216
00:12:21,906 --> 00:12:25,093
‫Jadi sekarang mari kita log tubuh di sini ke konsol.

217
00:12:28,390 --> 00:12:32,190
‫Baiklah, jadi dengan ini kita sekarang harus siap

218
00:12:32,190 --> 00:12:35,560
‫untuk mengunggah semua gambar kita, oke?

219
00:12:35,560 --> 00:12:40,560
‫Ayo turun ke sini dan coba ini lagi.

220
00:12:44,290 --> 00:12:46,903
‫Baiklah, jadi di mana susunan gambar kita?

221
00:12:54,440 --> 00:12:57,800
‫Yah, mungkin itu di suatu tempat di atas sini, ah, ini dia.

222
00:12:57,800 --> 00:12:59,660
‫Jadi saya melewatkan itu entah bagaimana.

223
00:12:59,660 --> 00:13:03,300
‫Dan itu terlihat sangat menjanjikan, bukan?

224
00:13:03,300 --> 00:13:05,730
‫Jadi tiga gambar yang bagus, sekarang

225
00:13:05,730 --> 00:13:08,693
‫mari kita lihat di sini di halaman kami.

226
00:13:10,910 --> 00:13:15,910
‫Ah, itu ada, tapi kurang tepat kan?

227
00:13:15,980 --> 00:13:18,540
‫Jadi sepertinya kami hanya mengunggah

228
00:13:18,540 --> 00:13:20,943
‫gambar sampul tiga kali.

229
00:13:22,050 --> 00:13:24,710
‫Jadi mari kita lihat Postman, tetapi nama

230
00:13:24,710 --> 00:13:26,840
‫gambar sebenarnya benar, jadi

231
00:13:26,840 --> 00:13:29,963
‫ada yang salah dalam pemrosesan kami di sana.

232
00:13:32,470 --> 00:13:37,050
‫Mari kita lihat juga permintaan. tubuh, oh, dan saya lupa untuk

233
00:13:37,050 --> 00:13:39,243
‫benar-benar meletakkannya di sini.

234
00:13:41,820 --> 00:13:44,220
‫Oke, tapi saya pikir itu bahkan tidak perlu

235
00:13:44,220 --> 00:13:45,700
‫karena kita baru saja

236
00:13:45,700 --> 00:13:47,763
‫melihat di Postman bahwa nama filenya benar.

237
00:13:48,630 --> 00:13:50,630
‫Jadi kita tidak membutuhkan yang ini lagi.

238
00:13:50,630 --> 00:13:53,150
‫Sekarang mari kita lihat nama

239
00:13:53,150 --> 00:13:58,150
‫file yang baru saja kita unggah, jadi itu di publik dan tur.

240
00:14:00,570 --> 00:14:01,673
‫Dan inilah mereka.

241
00:14:04,120 --> 00:14:07,763
‫Jadi ini mungkin yang pertama dari tes terakhir.

242
00:14:10,980 --> 00:14:13,860
‫Dan seperti yang Anda lihat, semuanya memang

243
00:14:13,860 --> 00:14:15,920
‫gambar yang sama persis.

244
00:14:15,920 --> 00:14:20,720
‫Jadi sampul, satu, dua, dan tiga adalah gambar yang

245
00:14:20,720 --> 00:14:23,760
‫sama, jadi itu tidak benar.

246
00:14:23,760 --> 00:14:27,500
‫Dan saya bisa langsung melihat apa masalahnya.

247
00:14:27,500 --> 00:14:30,980
‫Jadi Anda melihat bahwa kami sebenarnya membaca, masih,

248
00:14:30,980 --> 00:14:33,950
‫meminta. file. imageCover, dan

249
00:14:33,950 --> 00:14:37,533
‫bukan file dari iterasi saat ini dari loop ini.

250
00:14:39,090 --> 00:14:43,107
‫Oke, jadi alih-alih itu harus file. penyangga.

251
00:14:45,930 --> 00:14:48,210
‫Baiklah, jadi mari kita lanjutkan

252
00:14:48,210 --> 00:14:50,073
‫dan hapus semua ini.

253
00:14:54,440 --> 00:14:57,253
‫Baiklah, dan coba lagi sekarang.

254
00:14:59,490 --> 00:15:00,653
‫Jadi mari kita kirim itu.

255
00:15:03,220 --> 00:15:05,633
‫Nama tampaknya masih benar, tetapi

256
00:15:06,810 --> 00:15:10,310
‫sekarang ketika kita memuat ulang ini, mari kita lihat.

257
00:15:10,310 --> 00:15:12,680
‫Ah, itu terlihat benar.

258
00:15:12,680 --> 00:15:14,260
‫Cantik cantik.

259
00:15:14,260 --> 00:15:17,120
‫Anda lihat semua gambar diformat dengan baik,

260
00:15:17,120 --> 00:15:19,480
‫bahkan yang ini, ingat, dalam potret

261
00:15:19,480 --> 00:15:21,720
‫dan bahkan bukan lanskap, tetapi

262
00:15:21,720 --> 00:15:24,913
‫pada dasarnya kami memangkasnya dan masih terlihat indah.

263
00:15:26,300 --> 00:15:29,473
‫Oke, jadi di sini sekarang kita

264
00:15:31,000 --> 00:15:34,993
‫bisa memastikannya, jadi sebenarnya di 2.000-an kali 1.333 piksel.

265
00:15:37,220 --> 00:15:40,880
‫Baiklah, itu masih sedikit di sisi besar di sini,

266
00:15:40,880 --> 00:15:44,360
‫jadi mungkin kita bisa mengurangi kualitasnya sedikit lagi, tapi

267
00:15:44,360 --> 00:15:46,280
‫itu tidak terlalu penting.

268
00:15:46,280 --> 00:15:47,943
‫Yang benar-benar penting di sini

269
00:15:47,943 --> 00:15:51,350
‫adalah bahwa logika yang baru saja kita terapkan di sini benar-benar berfungsi.

270
00:15:51,350 --> 00:15:55,233
‫Jadi hanya untuk cepat rekap apa yang kami lakukan dalam dua kuliah ini.

271
00:15:56,820 --> 00:16:00,920
‫Jadi kami membuat unggahan multi menggunakan penyimpanan memori dan filter

272
00:16:00,920 --> 00:16:03,183
‫ini hanya untuk gambar.

273
00:16:04,330 --> 00:16:07,370
‫Kemudian kami membuat middleware gambar tur

274
00:16:07,370 --> 00:16:11,490
‫unggah dengan menggunakan unggah. bidang, yang mengambil satu

275
00:16:11,490 --> 00:16:14,570
‫sampul gambar dan tiga gambar, dan kemudian

276
00:16:14,570 --> 00:16:19,020
‫atas permintaan itu akan menempatkan properti file seperti ini, oke?

277
00:16:19,020 --> 00:16:22,600
‫Kemudian di middleware berikutnya kami mengubah ukuran gambar-gambar ini,

278
00:16:22,600 --> 00:16:24,170
‫dan pertama-tama gambar

279
00:16:24,170 --> 00:16:27,090
‫sampul, dan kemudian tiga gambar yang tersisa.

280
00:16:27,090 --> 00:16:28,930
‫Dan yang sangat penting untuk diperhatikan di

281
00:16:28,930 --> 00:16:33,380
‫sini adalah bagaimana kami menempatkan nama file gambar berdasarkan permintaan. tubuh.

282
00:16:33,380 --> 00:16:35,620
‫Dan kami melakukannya sehingga di middleware

283
00:16:35,620 --> 00:16:37,570
‫berikutnya, yang merupakan pengendali

284
00:16:37,570 --> 00:16:40,230
‫rute sebenarnya, kemudian akan memasukkan data itu

285
00:16:40,230 --> 00:16:42,620
‫ke dokumen baru ketika memperbaruinya, oke?

286
00:16:42,620 --> 00:16:44,700
‫Jadi kami melakukannya dengan sampul gambar, dan

287
00:16:44,700 --> 00:16:46,940
‫kami juga melakukannya dengan gambar yang tersisa dengan

288
00:16:46,940 --> 00:16:50,120
‫mendorongnya ke dalam tubuh. gambar, yang seperti

289
00:16:50,120 --> 00:16:52,510
‫yang kita ketahui dari skema

290
00:16:52,510 --> 00:16:54,920
‫tur kita, mengharapkan array string.

291
00:16:54,920 --> 00:16:57,290
‫Dan dalam hal ini, nama file.

292
00:16:57,290 --> 00:16:58,980
‫Jadi tentang gambar-gambar lain ini,

293
00:16:58,980 --> 00:17:03,490
‫kami memilikinya berdasarkan permintaan. file. gambar, jadi ini

294
00:17:03,490 --> 00:17:07,150
‫adalah array, dan tentu saja kita mengulangnya menggunakan map.

295
00:17:07,150 --> 00:17:10,130
‫Dan kami menggunakan peta sehingga pada dasarnya kami

296
00:17:10,130 --> 00:17:12,680
‫dapat menyimpan tiga janji yang merupakan hasil

297
00:17:12,680 --> 00:17:15,710
‫dari tiga fungsi asinkron ini di sini, jadi

298
00:17:15,710 --> 00:17:17,920
‫kami kemudian dapat menunggu semuanya di

299
00:17:17,920 --> 00:17:20,860
‫sini menggunakan Janji. semua, oke?

300
00:17:20,860 --> 00:17:23,680
‫Dan baru setelah itu kita beralih

301
00:17:23,680 --> 00:17:26,950
‫ke pengelola pembaruan tur yang sebenarnya, oke?

302
00:17:26,950 --> 00:17:28,670
‫Dan bagian ini sangat

303
00:17:28,670 --> 00:17:30,650
‫penting, jadi penting bagi kita

304
00:17:30,650 --> 00:17:33,620
‫untuk pindah ke middleware berikutnya segera setelah bagian

305
00:17:33,620 --> 00:17:34,940
‫ini benar-benar selesai.

306
00:17:34,940 --> 00:17:38,940
‫Karena jika tidak, permintaan. tubuh. gambar akan kosong,

307
00:17:38,940 --> 00:17:42,030
‫dan tentu saja nama file kita tidak akan

308
00:17:42,030 --> 00:17:44,633
‫disimpan ke dokumen tur saat ini, oke?

309
00:17:45,580 --> 00:17:47,710
‫Dan itu sebenarnya membungkus

310
00:17:47,710 --> 00:17:51,450
‫bagian pengunggahan gambar atau file dari bagian ini.

311
00:17:51,450 --> 00:17:53,290
‫Jadi saya harap itu menyenangkan,

312
00:17:53,290 --> 00:17:55,850
‫saya tahu itu sangat keren bagi saya.

313
00:17:55,850 --> 00:17:58,130
‫Jadi saya sangat menyukai hal

314
00:17:58,130 --> 00:18:02,570
‫semacam ini, yang membuat aplikasi saya terasa seperti dunia nyata.

315
00:18:02,570 --> 00:18:04,470
‫Bagaimanapun, harap Anda menikmatinya, dan sampai

316
00:18:04,470 --> 00:18:06,163
‫jumpa di yang berikutnya.

