﻿1
00:00:01,090 --> 00:00:04,280
‫Jonas: Lassen Sie uns Multer jetzt tatsächlich nach unseren Bedürfnissen konfigurieren.

2
00:00:04,280 --> 00:00:07,380
‫Zuerst geben Sie Bildern einen besseren Dateinamen,

3
00:00:07,380 --> 00:00:09,990
‫dann dürfen nur Bilddateien auf

4
00:00:09,990 --> 00:00:12,193
‫unseren Server hochgeladen werden.

5
00:00:13,880 --> 00:00:15,640
‫Und um zu beginnen, lassen

6
00:00:15,640 --> 00:00:17,210
‫Sie uns alle Multer-bezogenen

7
00:00:17,210 --> 00:00:19,563
‫Dinge von diesem Router auf den Controller verschieben.

8
00:00:21,910 --> 00:00:23,633
‫Also lass uns das

9
00:00:24,600 --> 00:00:27,220
‫hier abschneiden und ich werde es gleich

10
00:00:27,220 --> 00:00:30,570
‫hier am Ende platzieren, oder eigentlich ganz oben, in Ordnung?

11
00:00:30,570 --> 00:00:32,710
‫Also alles, was mit Multer zu

12
00:00:32,710 --> 00:00:35,263
‫tun hat, werden wir hier ganz oben platzieren.

13
00:00:36,400 --> 00:00:41,400
‫Dann müssen wir natürlich auch dieses Multer-Paket importieren.

14
00:00:44,940 --> 00:00:48,503
‫Und jetzt müssen wir damit auch eine Middleware erstellen.

15
00:00:53,970 --> 00:00:56,393
‫Also Exporte. uploadUserPhoto wird

16
00:01:01,540 --> 00:01:03,253
‫diesem gleich sein.

17
00:01:05,176 --> 00:01:07,890
‫In Ordnung, wir haben also immer noch

18
00:01:07,890 --> 00:01:12,890
‫eine Middleware-Funktion, aber jetzt hat sie einen eigenen, einfacher zu verwendenden Namen, in Ordnung?

19
00:01:13,950 --> 00:01:16,880
‫Und hier also userController. UploadFoto, in Ordnung?

20
00:01:20,460 --> 00:01:22,200
‫Das sieht also viel schöner

21
00:01:22,200 --> 00:01:23,610
‫aus, und natürlich ist

22
00:01:23,610 --> 00:01:25,950
‫es sinnvoll, dass dieser Code im Controller steckt.

23
00:01:25,950 --> 00:01:28,010
‫Und so ist das jetzt

24
00:01:28,010 --> 00:01:30,790
‫schön sauber und wir können es jetzt tatsächlich schließen.

25
00:01:30,790 --> 00:01:33,260
‫Großartig, und jetzt können

26
00:01:33,260 --> 00:01:36,400
‫wir unseren Multer-Upload nach unseren Bedürfnissen konfigurieren.

27
00:01:36,400 --> 00:01:39,640
‫Und dafür werden wir einen Multer-Speicher und einen

28
00:01:39,640 --> 00:01:41,950
‫Multer-Filter erstellen, in Ordnung?

29
00:01:41,950 --> 00:01:45,260
‫Und dann werden wir diesen Speicher und den Filter

30
00:01:45,260 --> 00:01:49,513
‫verwenden, um dann den Upload von dort aus zu erstellen, in Ordnung?

31
00:01:50,400 --> 00:01:51,603
‫Also machen wir das hier.

32
00:01:56,320 --> 00:02:01,053
‫Also einen MulterStorage, wir verwenden Multer. Festplattenspeicherplatz.

33
00:02:03,880 --> 00:02:05,760
‫In Ordnung, und wir könnten uns

34
00:02:05,760 --> 00:02:08,560
‫auch entscheiden, die Datei als Puffer im Speicher zu

35
00:02:08,560 --> 00:02:11,670
‫speichern, damit wir sie später von anderen Prozessen verwenden können.

36
00:02:11,670 --> 00:02:14,050
‫Und eigentlich werden wir das etwas später

37
00:02:14,050 --> 00:02:16,700
‫tun, aber im Moment wollen wir die Datei

38
00:02:16,700 --> 00:02:20,120
‫natürlich wirklich so speichern, wie sie in unserem Dateisystem ist, okay?

39
00:02:20,120 --> 00:02:23,690
‫Für die Festplattenspeicherung nehmen wir also ein paar Optionen, und

40
00:02:23,690 --> 00:02:25,693
‫die erste ist das Ziel.

41
00:02:27,900 --> 00:02:31,390
‫Aber jetzt können wir es nicht einfach so auf diesen Pfad setzen, wie

42
00:02:31,390 --> 00:02:32,850
‫wir es zuvor getan haben.

43
00:02:32,850 --> 00:02:35,760
‫Nein, das ist etwas komplexer, in Ordnung?

44
00:02:35,760 --> 00:02:39,550
‫Und so ist dieses Ziel hier wirklich eine Callback-Funktion,

45
00:02:39,550 --> 00:02:41,400
‫die so funktioniert.

46
00:02:41,400 --> 00:02:45,610
‫Diese Callback-Funktion hat also Zugriff auf die aktuelle Anfrage, auf

47
00:02:45,610 --> 00:02:47,750
‫die aktuell hochgeladene Datei und

48
00:02:47,750 --> 00:02:49,820
‫auch auf eine Callback-Funktion.

49
00:02:49,820 --> 00:02:51,330
‫Und diese Callback-Funktion ist

50
00:02:51,330 --> 00:02:53,720
‫ein bisschen wie die nächste Funktion in Express.

51
00:02:53,720 --> 00:02:56,810
‫Aber ich nenne es hier cb, was für Rückruf

52
00:02:56,810 --> 00:02:58,790
‫steht, damit es anders heißt

53
00:02:58,790 --> 00:03:02,000
‫als next, denn eigentlich kommt es nicht von Express, okay?

54
00:03:02,000 --> 00:03:05,070
‫Aber es ist insofern ähnlich, als wir hier Fehler und andere

55
00:03:05,070 --> 00:03:07,683
‫Dinge einfügen können, wie Sie gleich sehen werden.

56
00:03:10,830 --> 00:03:12,730
‫Um nun das Ziel

57
00:03:12,730 --> 00:03:15,640
‫zu definieren, müssen wir diesen Rückruf tatsächlich aufrufen.

58
00:03:15,640 --> 00:03:18,730
‫Also Rückruf, und dann ist das erste Argument ein

59
00:03:18,730 --> 00:03:19,820
‫Fehler, falls vorhanden.

60
00:03:19,820 --> 00:03:21,523
‫Und wenn nicht, dann einfach null.

61
00:03:22,910 --> 00:03:25,943
‫Und das zweite Argument ist dann das eigentliche Ziel.

62
00:03:26,810 --> 00:03:28,260
‫Also kopieren wir das

63
00:03:29,180 --> 00:03:31,333
‫hier und fügen es hier ein.

64
00:03:32,500 --> 00:03:37,500
‫Alles klar, und das sieht wieder alles etwas seltsam und komplex aus, und

65
00:03:37,820 --> 00:03:39,130
‫werfen wir einen

66
00:03:39,130 --> 00:03:41,433
‫Blick auf die Multer-Dokumentation auf GitHub.

67
00:03:48,860 --> 00:03:50,970
‫Okay, und wenn Sie mehr

68
00:03:50,970 --> 00:03:54,570
‫erfahren möchten, können Sie sich diese Dokumentation hier ansehen.

69
00:03:54,570 --> 00:03:56,890
‫Und wie Sie sehen,

70
00:03:56,890 --> 00:04:01,890
‫ist es mit 6.000 Sternen tatsächlich ein ziemlich beliebtes Paket.

71
00:04:02,090 --> 00:04:04,293
‫Hier erfahren Sie also, wie Sie es verwenden.

72
00:04:05,270 --> 00:04:07,090
‫Aber was Sie hier finden werden,

73
00:04:07,090 --> 00:04:08,700
‫ist das, was wir

74
00:04:08,700 --> 00:04:11,283
‫in den nächsten paar Vorlesungen machen werden, okay?

75
00:04:12,290 --> 00:04:15,000
‫Das sieht also viel verwirrender aus als das,

76
00:04:15,000 --> 00:04:17,350
‫was wir tun werden, in Ordnung?

77
00:04:17,350 --> 00:04:18,750
‫Aber Sie sehen, dass

78
00:04:18,750 --> 00:04:22,820
‫dies tatsächlich das ist, was wir derzeit tun, also legen wir das

79
00:04:22,820 --> 00:04:26,580
‫Ziel fest und als nächstes werden wir auch den Dateinamen festlegen.

80
00:04:26,580 --> 00:04:30,250
‫Lassen Sie uns das tun, und wenn Sie mehr erfahren möchten,

81
00:04:30,250 --> 00:04:33,400
‫werfen Sie einfach einen Blick in diese Dokumentation.

82
00:04:33,400 --> 00:04:37,840
‫Aber jetzt möchte ich jetzt die Dateiname-Eigenschaft festlegen.

83
00:04:37,840 --> 00:04:41,593
‫Also nicht das, einfach Dateiname.

84
00:04:42,610 --> 00:04:45,980
‫Und das ist wiederum eine sehr

85
00:04:45,980 --> 00:04:50,973
‫ähnliche Callback-Funktion mit ähnlicher Signatur, Anfrage, Datei und Callback.

86
00:04:54,540 --> 00:04:57,980
‫Und jetzt möchten wir unseren Dateien einige eindeutige Dateinamen geben.

87
00:04:57,980 --> 00:04:59,380
‫Und das

88
00:04:59,380 --> 00:05:04,380
‫mache ich, indem ich sie user-userid nenne – den aktuellen Zeitstempel.

89
00:05:04,990 --> 00:05:07,720
‫Also ungefähr so: also Benutzer-, und

90
00:05:07,720 --> 00:05:11,793
‫dann die ID, die so komisch ist, ungefähr so.

91
00:05:14,190 --> 00:05:16,640
‫Richtig, und dann der aktuelle

92
00:05:16,640 --> 00:05:19,880
‫Zeitstempel, der eine riesige Zahl sein wird,

93
00:05:19,880 --> 00:05:23,490
‫etwa so, und dann natürlich die Dateierweiterung, okay?

94
00:05:23,490 --> 00:05:25,730
‫Und damit können wir grundsätzlich garantieren,

95
00:05:25,730 --> 00:05:29,030
‫dass es nicht zwei Bilder mit dem gleichen Dateinamen gibt.

96
00:05:29,030 --> 00:05:31,290
‫Wenn wir nur die Benutzer-ID

97
00:05:31,290 --> 00:05:33,820
‫verwenden würden, würden natürlich mehrere Uploads durch

98
00:05:33,820 --> 00:05:36,140
‫denselben Benutzer das vorherige Bild überschreiben.

99
00:05:36,140 --> 00:05:39,770
‫Und wenn wir nur Benutzer mit dem Zeitstempel verwenden,

100
00:05:39,770 --> 00:05:43,210
‫nun, wenn zwei Benutzer gleichzeitig ein Bild hochladen,

101
00:05:43,210 --> 00:05:45,920
‫erhalten sie genau denselben Dateinamen, was

102
00:05:45,920 --> 00:05:47,393
‫keinen Sinn ergibt.

103
00:05:48,630 --> 00:05:51,300
‫In Ordnung, also lassen Sie

104
00:05:51,300 --> 00:05:55,330
‫uns zunächst den Dateinamen aus der hochgeladenen Datei extrahieren.

105
00:05:55,330 --> 00:05:57,060
‫Und wie bekommen wir das hin?

106
00:05:57,060 --> 00:05:59,963
‫Schauen wir uns hier unsere Konsolenausgabe an, wo

107
00:06:03,080 --> 00:06:06,120
‫wir die Anfrage hatten. Datei schon vor längerer Zeit.

108
00:06:06,120 --> 00:06:09,080
‫Hier ist es also, also denken Sie daran, dass dieses Objekt

109
00:06:09,080 --> 00:06:11,830
‫hier eine Anfrage war. Datei, und

110
00:06:11,830 --> 00:06:15,530
‫genau das ist diese Datei hier, okay?

111
00:06:15,530 --> 00:06:18,260
‫Hier haben wir also den

112
00:06:18,260 --> 00:06:22,087
‫Mimetyp, und JPEG wird genau hier gespeichert, okay?

113
00:06:22,087 --> 00:06:24,030
‫Und von hier bekommen wir

114
00:06:24,030 --> 00:06:25,363
‫die Dateierweiterung.

115
00:06:28,130 --> 00:06:33,130
‫Die Erweiterung entspricht also der Datei. mimetype, und dann teilen

116
00:06:35,290 --> 00:06:39,550
‫wir diese Zeichenfolge durch den Schrägstrich auf und nehmen

117
00:06:39,550 --> 00:06:42,720
‫das zweite Element des resultierenden Arrays.

118
00:06:42,720 --> 00:06:46,853
‫Und das wird dann nur dieser Teil sein, also nur dieser.

119
00:06:47,780 --> 00:06:50,500
‫Alles klar, das ist die Erweiterung.

120
00:06:50,500 --> 00:06:52,100
‫Und so müssen

121
00:06:52,100 --> 00:06:56,760
‫wir nach wie vor die Callback-Funktion ohne Fehler aufrufen und dann

122
00:06:56,760 --> 00:06:59,423
‫den Dateinamen, den wir angeben möchten.

123
00:07:00,460 --> 00:07:05,460
‫Das wird also Benutzer-, dann die Benutzer-ID sein, erinnerst du dich?

124
00:07:06,890 --> 00:07:09,970
‫Da wir hier also Zugriff auf die Anfrage haben, ist

125
00:07:09,970 --> 00:07:13,913
‫das ganz einfach, Anfrage. Nutzer. Ich würde.

126
00:07:14,830 --> 00:07:16,620
‫Und das ist, wie Sie

127
00:07:16,620 --> 00:07:19,040
‫wissen, die ID des aktuell angemeldeten Benutzers.

128
00:07:19,040 --> 00:07:24,040
‫Dann der Zeitstempel, also Datum. Nun, okay, und dann

129
00:07:25,547 --> 00:07:30,547
‫die Erweiterung, die wir gerade erstellt haben, in Ordnung?

130
00:07:33,120 --> 00:07:35,410
‫Also lasst uns diesen Kommentar

131
00:07:35,410 --> 00:07:37,780
‫loswerden, und das ist eigentlich unser Speicher.

132
00:07:37,780 --> 00:07:40,310
‫Also im Grunde eine vollständige Definition, wie

133
00:07:40,310 --> 00:07:42,540
‫wir unsere Dateien speichern möchten,

134
00:07:42,540 --> 00:07:44,963
‫mit dem Ziel und dem Dateinamen.

135
00:07:46,270 --> 00:07:48,833
‫Als nächstes erstellen wir einen Multer-Filter.

136
00:07:52,270 --> 00:07:53,983
‫Nennen wir es also genau so.

137
00:07:57,200 --> 00:08:00,370
‫Und der Filter in Multer ist

138
00:08:00,370 --> 00:08:04,010
‫einfach wieder eine Callback-Funktion, ähnlich denjenigen, die wir zuvor

139
00:08:04,010 --> 00:08:08,433
‫hatten, und greift auf die Anfrage, Datei und eine Callback-Funktion zu.

140
00:08:09,850 --> 00:08:11,730
‫Und bei dieser Funktion besteht das Ziel im

141
00:08:11,730 --> 00:08:14,660
‫Wesentlichen darin, zu testen, ob es sich bei der hochgeladenen Datei um ein Bild handelt.

142
00:08:14,660 --> 00:08:17,220
‫Und wenn dies der Fall ist, übergeben wir

143
00:08:17,220 --> 00:08:19,010
‫true an die Callback-Funktion, und

144
00:08:19,010 --> 00:08:22,110
‫wenn nicht, übergeben wir false zusammen mit einem Fehler

145
00:08:22,110 --> 00:08:23,410
‫an die Callback-Funktion.

146
00:08:23,410 --> 00:08:25,810
‫Denn auch hier möchten wir nicht zulassen, dass

147
00:08:25,810 --> 00:08:28,020
‫Dateien hochgeladen werden, die keine Bilder sind.

148
00:08:28,020 --> 00:08:31,370
‫Und genau dafür ist dieser Filter da.

149
00:08:31,370 --> 00:08:33,090
‫Wenn Sie nun in

150
00:08:33,090 --> 00:08:36,830
‫Ihrer eigenen Anwendung etwas anderes hochladen möchten, sagen wir CSV-Dateien,

151
00:08:36,830 --> 00:08:40,260
‫dann können Sie dies natürlich anstelle von Bildern testen.

152
00:08:40,260 --> 00:08:42,240
‫All das, was wir hier machen, funktioniert

153
00:08:42,240 --> 00:08:43,960
‫also nicht nur für

154
00:08:43,960 --> 00:08:45,790
‫Bilder, sondern wirklich für alle Arten

155
00:08:45,790 --> 00:08:48,090
‫von Dateien, die Sie hochladen möchten, in Ordnung?

156
00:08:48,090 --> 00:08:51,610
‫Auch hier sprechen wir in diesem Fall wirklich über Bilder. Lassen Sie uns also

157
00:08:51,610 --> 00:08:54,640
‫testen, ob es sich bei der hochgeladenen Datei um ein Bild handelt.

158
00:08:54,640 --> 00:08:58,410
‫Und dafür werden wir wieder den Mimetyp verwenden,

159
00:08:58,410 --> 00:09:00,770
‫denn egal, welcher

160
00:09:00,770 --> 00:09:05,300
‫Bildtyp hochgeladen wird, also egal ob JPEG, PNG, Bitmap

161
00:09:05,300 --> 00:09:07,730
‫oder TIFF oder wirklich alles

162
00:09:07,730 --> 00:09:10,950
‫andere, der Mimetyp beginnt immer mit Bild.

163
00:09:10,950 --> 00:09:13,170
‫Und jetzt können wir das testen.

164
00:09:13,170 --> 00:09:17,643
‫Also wenn Datei. Mime Typ. startWith, image, und

165
00:09:21,890 --> 00:09:25,910
‫ich bin mir nicht sicher, ob wir diese Methode schon einmal verwendet

166
00:09:25,910 --> 00:09:29,700
‫haben, aber es ist eine ziemlich neue und sehr nützliche String-Methode,

167
00:09:29,700 --> 00:09:31,750
‫die in JavaScript verfügbar ist, also

168
00:09:31,750 --> 00:09:33,593
‫in allen JavaScript im Allgemeinen.

169
00:09:34,770 --> 00:09:38,650
‫Wenn wir also tatsächlich ein Bild haben, dann gibt es

170
00:09:38,650 --> 00:09:42,090
‫wieder keinen Fehler und wir geben wahr, wie

171
00:09:42,090 --> 00:09:43,810
‫ich am Anfang sagte.

172
00:09:43,810 --> 00:09:48,810
‫Aber sonst übergeben wir dann tatsächlich einen Fehler und

173
00:09:50,520 --> 00:09:52,080
‫dann false.

174
00:09:52,080 --> 00:09:55,320
‫Also setzen wir hier einfach ein x und false.

175
00:09:55,320 --> 00:09:58,910
‫Für dieses x hier erstellen wir jetzt einen AppError, genau wie wir

176
00:09:58,910 --> 00:10:01,010
‫es die ganze Zeit gemacht haben.

177
00:10:01,010 --> 00:10:03,423
‫Und das haben wir hier eigentlich schon.

178
00:10:04,470 --> 00:10:07,643
‫Sagen wir also

179
00:10:10,522 --> 00:10:14,896
‫ein neuer AppError, kein Bild, bitte

180
00:10:14,896 --> 00:10:19,896
‫laden Sie nur Bilder hoch, in Ordnung?

181
00:10:20,709 --> 00:10:23,459
‫Und dann eine 400 für eine schlechte Anfrage.

182
00:10:24,876 --> 00:10:28,875
‫Großartig, wir haben also unseren Speicher, wir haben unseren Filter, jetzt ist

183
00:10:28,875 --> 00:10:30,567
‫es an der Zeit,

184
00:10:30,567 --> 00:10:33,294
‫sie tatsächlich zu verwenden, um den Upload zu erstellen.

185
00:10:33,294 --> 00:10:37,228
‫Alles klar, der Upload sieht jetzt nicht so

186
00:10:37,228 --> 00:10:40,816
‫aus, sondern wir übergeben diese Variablen.

187
00:10:40,816 --> 00:10:44,149
‫In Multer können wir also den Speicher angeben,

188
00:10:46,618 --> 00:10:49,368
‫und das ist unser multerStorage.

189
00:10:52,118 --> 00:10:54,118
‫Und dann der

190
00:10:57,109 --> 00:11:01,276
‫fileFilter, die Variable, die wir multerFilter genannt haben.

191
00:11:02,439 --> 00:11:04,299
‫Okay. Das war's.

192
00:11:04,299 --> 00:11:06,486
‫Und natürlich hätten wir all

193
00:11:06,486 --> 00:11:10,225
‫dies hier direkt in dieses Optionsobjekt hier einfügen können.

194
00:11:10,225 --> 00:11:12,901
‫Aber normalerweise ziehe ich es vor, dies

195
00:11:12,901 --> 00:11:17,076
‫außerhalb zu tun und die Variablen dann einfach an ein Optionsobjekt zu übergeben.

196
00:11:17,076 --> 00:11:19,351
‫Das sieht dann etwas sauberer aus.

197
00:11:19,351 --> 00:11:22,241
‫Dies sind also viele Schritte, die

198
00:11:22,241 --> 00:11:26,046
‫wir unternehmen müssen, um unsere Multer-Middleware wirklich zu erstellen.

199
00:11:26,046 --> 00:11:27,953
‫Aber zum Schluss verwenden wir

200
00:11:27,953 --> 00:11:29,770
‫dann natürlich, genau

201
00:11:29,770 --> 00:11:33,169
‫wie im letzten Video, diesen Upload, und nennen ihn

202
00:11:33,169 --> 00:11:35,437
‫Single, mit dem Namen des Feldes.

203
00:11:35,437 --> 00:11:38,688
‫Also Foto, und dann erstellen wir von dort aus einen Export

204
00:11:38,688 --> 00:11:41,262
‫oder eine Middleware, die wir eigentlich schon in

205
00:11:41,262 --> 00:11:42,880
‫unseren Router eingebaut haben.

206
00:11:42,880 --> 00:11:46,845
‫Lassen Sie uns nun diese alte Art von Bild löschen,

207
00:11:46,845 --> 00:11:48,845
‫die wir hier zuvor hatten.

208
00:11:50,649 --> 00:11:52,399
‫Nein, das hat nicht funktioniert.

209
00:11:54,543 --> 00:11:57,569
‫Und jetzt testen wir es hier noch einmal.

210
00:11:57,569 --> 00:12:00,637
‫Zurück in Postman haben wir hier immer noch unseren

211
00:12:00,637 --> 00:12:03,554
‫Namen und das Leo-Image, und los geht's.

212
00:12:05,556 --> 00:12:08,473
‫Und wir haben keinen Fehler bekommen, was gut ist.

213
00:12:10,516 --> 00:12:13,516
‫Und sehen wir uns hier noch einmal unsere Ausgabe an.

214
00:12:16,428 --> 00:12:19,240
‫Hier ist also am Anfang alles

215
00:12:19,240 --> 00:12:23,827
‫gleich, aber dann sieht man, dass unser Dateiname nun tatsächlich richtig ist.

216
00:12:23,827 --> 00:12:26,465
‫Und wenn Sie hier in unseren Folder schauen,

217
00:12:26,465 --> 00:12:28,948
‫dann gibt es tatsächlich unser Bild.

218
00:12:28,948 --> 00:12:31,934
‫Und genau das haben wir hochgeladen.

219
00:12:31,934 --> 00:12:34,934
‫Das sind also Dev-Daten, Bilder, Leo.

220
00:12:37,649 --> 00:12:41,288
‫Und tatsächlich ist das genau das gleiche.

221
00:12:41,288 --> 00:12:43,724
‫Super, das ist toll.

222
00:12:43,724 --> 00:12:46,615
‫Um diesen Filter auch hier zu

223
00:12:46,615 --> 00:12:51,615
‫testen, versuchen wir, eine andere Datei hochzuladen, die kein Bild ist.

224
00:12:51,974 --> 00:12:56,516
‫Wählen wir hier also etwas anderes aus unseren Dev-Daten aus,

225
00:12:56,516 --> 00:13:00,278
‫und sagen wir einfach ein paar JSON-Daten.

226
00:13:00,278 --> 00:13:04,336
‫Warten wir also ab, wenn wir hier einen Fehler bekommen.

227
00:13:04,336 --> 00:13:06,190
‫Und tatsächlich bekommen wir einen.

228
00:13:06,190 --> 00:13:09,070
‫Also kein Bild, bitte nur Bilder hochladen.

229
00:13:09,070 --> 00:13:11,643
‫Und so heißt es, dass das auch funktioniert.

230
00:13:12,610 --> 00:13:16,200
‫So perfekt, dass alle unsere Multer-Konfigurationen jetzt wirklich

231
00:13:16,200 --> 00:13:18,540
‫gut funktionieren, aber natürlich fehlt

232
00:13:18,540 --> 00:13:20,480
‫noch ein Schritt.

233
00:13:20,480 --> 00:13:22,660
‫Und das bedeutet, den Benutzer tatsächlich

234
00:13:22,660 --> 00:13:25,550
‫mit dem neu aktualisierten Bild zu verknüpfen, oder?

235
00:13:25,550 --> 00:13:27,660
‫Denn gerade jetzt haben wir

236
00:13:27,660 --> 00:13:29,420
‫in der Datenbank offensichtlich

237
00:13:29,420 --> 00:13:31,840
‫noch den Pfad, oder eigentlich den Namen

238
00:13:31,840 --> 00:13:34,460
‫des alten Bildes, denn nirgendwo in unserem Code

239
00:13:34,460 --> 00:13:38,180
‫haben wir angegeben, dass wir das Benutzerdokument selbst aktualisieren wollen, oder?

240
00:13:38,180 --> 00:13:40,603
‫Lassen Sie uns das im nächsten Video beheben.

