Maison  >  Article  >  interface Web  >  Comment javascript emballe-t-il les fichiers Qiniu et télécharge-t-il la compression (code)

Comment javascript emballe-t-il les fichiers Qiniu et télécharge-t-il la compression (code)

不言
不言original
2018-08-31 10:43:291699parcourir

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!

Déclaration:
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