HI im essayant de télécharger plusieurs fichiers à la fois dans l'API angulaire 8 et Laravel. Je suis capable de stocker une image unique en utilisant ce code .. Code angulaire:
$img = $request->file('image');
$image = str_random(10).time().'.'.$img->getClientOriginalExtension();
$destination = 'assets/images/';
$img->move($destination, $image);
4 Réponses :
Je pense que le téléchargement de fichier est un point faible en angulaire, mais il peut être fait en stockant la valeur d'entrée comme objet de fileliste . Le filélateur n'est pas démarré, donc si vous devez valider, vous pouvez le convertir en fichier []. Array.from (); p>
Envoyez simplement l'objet / la matrice avec une requête HTTP normale P>
Vous pouvez utiliser
Voici le code d'échantillon:
dans HTML: P>
upload(event){
const fileList: FileList = event.target.files;
for (let x = 0; x < fileList.length; x++) {
formData.append("someFile", fileList[x], fileList[x].name);
}
this.uploadFiles(formData).subscribe();
}
uploadFiles(formData: any): Observable<any> {
const req = new HttpRequest('POST', 'api/uploads', formData, {
reportProgress: true,
headers: new HttpHeaders()
.append('enctype', 'multipart/form-data')
});
return this.http
.request(req);
}
Finalement je l'ai fait fonctionner par des boucles en angulaire et aussi bien au contrôleur LARAVAVIVER IDK, si c'est une bonne solution, mais je vais poster cela comme réponse, alors peut-être que d'autres en bénéficient, ci-dessous est mon code .. HTML
$length = $request->length;
for ($i=0; $i < $length; $i++) {
$img[$i] = $request->file('images'.$i);
$image = str_random(10).time().'.'.$img[$i]->getClientOriginalExtension();
$destination = 'assets/images/';
$img[$i]->move($destination, $image);
$images[] = $image;
}