lors de l'utilisation de téléchargement helper dans Ci, je télécharger le fichier pop-up comme chargement de la page, comment puis-je arrêter cela?codeigniter téléchargement problème
Répondre
fonctionne comme prévu, si vous voulez l'arrêter, arrêtez d'utiliser l'assistant de téléchargement.
l'assistant de téléchargement envoie les en-têtes appropriés afin que le fichier est obligé de télécharger sur le bureau des utilisateurs/téléchargements
ce que vous essayez de faire?
modifier Ok alors que votre contrôleur est appelé « téléchargement » et votre méthode est appelée « vue » qui affiche des liens vers vos téléchargements comme ceci:
mysite.com/download/process/foo.pdf
créer une méthode dans votre download
contrôleur appelé process
function process($file)
{
$this->load->helper('download');
$data = file_get_contents("my-downloads/$file"); // Read the file's contents
force_download($file, $data);
}
non testé, mais il devrait fonctionner
vous voudrez une validation, etc.
si l'utilisateur affiche les fichiers téléchargeables sur downloads/view
et quand ils cliquent sur un lien, ils vont à la méthode process
pour télécharger le fichier.
vous voudrez probablement une redirection ou similaire après le début du téléchargement du fichier, et je pense que vous pourriez le faire avec AJAX afin que l'utilisateur ne quitte jamais la page.
Essayez ceci:
function do_download($file_name="")
{
$file_path = 'custom/uploads/project/'.$file_name;
header('Content-Type: application/octet-stream');
header("Content-Disposition: attachment; filename=$file_name");
ob_clean();
flush();
readfile($file_path);
}
Je veux que les utilisateurs télécharger le fichier uniquement lorsqu'ils cliquent sur le lien de téléchargement – ktm
voir mon post modifié – Ross