0
votes

Comment télécharger plusieurs images / fichiers en angulaire avec API de Laravel?

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);


0 commentaires

4 Réponses :


0
votes

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 ();

Envoyez simplement l'objet / la matrice avec une requête HTTP normale


0 commentaires

0
votes

Vous pouvez utiliser pour prendre plus d'un fichier dans le champ de saisie. Dans le contrôleur de Laravel, assurez-vous de se déplacer pour chaque fichier.


0 commentaires

1
votes

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);
          } 


0 commentaires

1
votes

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;
            }


0 commentaires