Maison > Questions et réponses > le corps du texte
J'essaie d'importer plusieurs fichiers dans Laravel à l'aide de Laravel Excel.
J'ai le code suivant dans mon fichier blade qui me permet de sélectionner plusieurs fichiers à télécharger :
<form action="{{ route('file-import') }}" method="POST" enctype="multipart/form-data"> @csrf <div class="form-group mb-4" style="max-width: 500px; margin: 0 auto;"> <div class="custom-file text-left"> <input type="file" name="file" class="custom-file-input" id="customFile" multiple> <label class="custom-file-label" for="customFile">Choose file</label> </div> </div> <button class="btn btn-primary">Import data</button> </form>
Dans le contrôleur j'utilise le code suivant :
public function fileImport(Request $request) { Excel::import(new LogsImport, $request->file('file')->store('temp')); return back(); }
Cela fonctionne bien mais il n'importe que le premier fichier que je sélectionne. Je crois que j'ai besoin d'une sorte de déclaration foreach. J'ai essayé les options suivantes :
public function fileImport(Request $request) { foreach($request->file('file') as $f){ Excel::import(new LogsImport, $f->store('temp')); } return back(); }
Mais en utilisant cela, aucun fichier n'est importé.
J'ai également essayé d'imprimer $request mais j'ai obtenu un énorme tableau et je n'ai rien trouvé de pertinent pointant vers le fichier que j'ai téléchargé.
Toute aide serait grandement appréciée. Merci
P粉6966058332023-12-31 07:17:06
Essayez d'utiliser le tableau name="file[]" au lieu de name="file"