Le contenu de cet article explique comment empaqueter les fichiers Qiniu et télécharger la compression (code) à l'aide de javascript. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Analyse des exigences : emballez et téléchargez ces fichiers en fonction des URL de fichiers stockées dans Qiniu.
La méthode d'implémentation consiste à obtenir le contenu du fichier, à utiliser jszip pour le compresser et enfin à utiliser file-saver pour enregistrer et télécharger.
Deux points à noter :
1 : Certains frameworks Web (comme laravel) configureront les en-têtes de requête par défaut pour axios. Lorsque vous demandez un fichier, vous devez supprimer l'en-tête de requête par défaut et définir le type de contenu sur « application/x-www-form-urlencoded ;
2 : Le type de réponse est binaire et le fichier est transmis en binaire, définissez donc le type de réponse sur blob.
Partie de l'exemple de code :
import JSZip from 'jszip' import filesaver from "file-saver" var zip = new JSZip(); // 我用的 axios 需要把这两个 header 删掉 delete window.axios.defaults.headers.common['X-Requested-With']; delete window.axios.defaults.headers.common['X-CSRF-TOKEN']; axios.get(file.file_url, { responseType: 'blob', headers : { 'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8' } }).then(function(res){ var response = res.data; zip.file(file.id + "_" + file.name, response, {binary: true}); // do your job }).catch(function(error){ console.error(error); });
Enregistrer :
zip.generateAsync({ type: "blob" }).then((blob) => { filesaver.saveAs(blob, this.current_zip_name) }, (err) => { alert('导出失败') });
Recommandations associées :
Le nom du fichier chinois compressé Qiniu mkzip est tronqué
Exemple d'explication détaillée de Vue lot moyen Comment télécharger des fichiers et les emballer
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!