Maison > Article > développement back-end > Exemple de code pour implémenter la fonction de téléchargement de fichiers à l'aide du framework Laravel
Cet article se concentre sur l'introduction de l'exemple de code de Laravel pour implémenter la fonction de téléchargement de fichiers. Les amis qui en ont besoin peuvent s'y référer
La dernière version LTS (support à long terme) de Laravel est Laravel 5.1, qui a été publié en juin 2015. Selon l'accord sur la version LTS, la prise en charge des corrections de bogues pendant deux ans prendra fin au milieu de cette année, donc une version successeur de LTS sera inévitablement publiée au milieu de cette année, ce qui est Laravel 5.5. Cet article se concentre sur la façon d'implémenter la fonction de téléchargement de fichiers dans Laravel. Veuillez vous référer à cet article. La méthode de téléchargement
peut être utilisée pour générer une réponse qui oblige le navigateur de l'utilisateur à télécharger un fichier avec un chemin spécifié. . La méthode de téléchargement accepte le nom du fichier comme deuxième paramètre de la méthode. Ce nom est le nom de fichier que l'utilisateur voit lors du téléchargement du fichier. Enfin, vous pouvez transmettre un tableau contenant des informations d'en-tête HTTP comme troisième paramètre à la méthode :
return response()->download($pathToFile); return response()->download($pathToFile, $name, $headers);
Voici le téléchargement de fichier que j'utilise dans le projet Function.
public function downloadfile($filename) { $file = public_path().'/test.xls'; return response()->download($file,$filename.'.xls'); }
Cependant, la progression n'a pas été très fluide au début. Pourquoi la fonction de téléchargement de fichiers fournie avec Laravel échoue-t-elle ? >
FatalErrorException in HandleCors.php line 18: Call to undefined method Symfony\Component\HttpFoundation\BinaryFileResponse::header()La signification générale est que la méthode header() n'a pas été définie. Après diverses explorations, nous avons trouvé une solution. Nous pouvons redéfinir l'en-tête dans la méthode handle de. CorsMiddleware. Ajoutez la méthode suivante :
class CorsMiddleware { public function handle($request, Closure $next) { $response = $next($request); $response->headers->set('Access-Control-Allow-Origin' , '*'); $response->headers->set('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE'); $response->headers->set('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With, Application'); return $response; } }Enfin, après avoir redéfini l'en-tête, nous avons utilisé la fonction de téléchargement et avons constaté qu'elle était accessible normalement.
Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!