Maison > développement back-end > tutoriel php > Comment télécharger des fichiers sans effort dans Laravel sans quitter la vue actuelle ?

Comment télécharger des fichiers sans effort dans Laravel sans quitter la vue actuelle ?

Patricia Arquette
Libérer: 2024-11-06 10:05:03
original
1081 Les gens l'ont consulté

How to Download Files Effortlessly in Laravel without Leaving the Current View?

Télécharger des fichiers sans effort dans Laravel avec Response::download

Pour résoudre le problème du téléchargement de fichiers de manière transparente sans quitter la vue actuelle, vous pouvez exploitez la méthode Response::download de Laravel. Voici comment résoudre vos soucis :

Problème 1 : Erreur de chemin de fichier

Le message d'erreur indique que le fichier "info.pdf" est introuvable dans le chemin spécifié" /public/télécharger/". Pour résoudre ce problème, assurez-vous que le fichier est présent à l'emplacement spécifié ou mettez à jour le chemin en conséquence dans le code.

Problème 2 : Navigation par bouton

Pour empêcher le téléchargement de la navigation vers une nouvelle vue, vous pouvez modifier l'itinéraire et les actions du contrôleur comme suit :

Itinéraire :

Route::get('/downloadfile', 'HomeController@downloadFile');
Copier après la connexion

Contrôleur :

public function downloadFile()
{
    // Set the file path
    $file = public_path() . '/download/info.pdf';

    // Create headers for content type
    $headers = ['Content-Type' => 'application/pdf'];

    // Download the file
    return response()->download($file, 'filename.pdf', $headers);
}
Copier après la connexion

Dans ce code mis à jour :

  • La route a été renommée « /downloadfile » pour plus de clarté.
  • La méthode du contrôleur utilise désormais public_path() pour obtenir le chemin complet du fichier.
  • Les en-têtes sont définis pour spécifier le type de fichier au format PDF.
  • L'assistant réponse() est utilisé pour générer la réponse de téléchargement sans accéder à une nouvelle vue.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal