Maison  >  Questions et réponses  >  le corps du texte

javascript - Problème de téléchargement de fichiers JS

Question :
1. Les images peuvent être converties en base64 pour le téléchargement, mais pourquoi Excel, PDF, etc. ne peuvent-ils pas être convertis en base64 ?
2. Téléchargez des fichiers via XMLHttpRequest et placez les fichiers dans FormData, mais comment lier des balises aux fichiers. Par exemple, comment puis-je savoir que ce fichier appartient à mon utilisateur actuel ?
3. Quelqu'un a-t-il une bonne solution de téléchargement de fichiers js ?

淡淡烟草味淡淡烟草味2663 Il y a quelques jours949

répondre à tous(4)je répondrai

  • 三叔

    三叔2017-07-05 11:10:28

    1. Dans les navigateurs modernes, il peut être implémenté à l'aide des html5 API associées. Je pense temporairement à ces btoa Blob FileReader. Vous devez consulter la documentation pour plus de détails

    2. .
    3. FormData可以用append添加额外的字段。 这里你需要放开思路,一个字段最终代表着传递到后台的一个参数,这个参数其实是很抽象的一个概念,具体取决与你前台跟后台的约定。
      举个例子,我可以在最后要发送请求的时候构造一个额外对象(它的字段取值要跟后台商量),添加到FormData, envoyé au serveur.

         var meta = {
                name:"",
                time:"",
                data:[]
            }
        formData.append("meta", JSON.stringify(meta));

    Le serveur désérialise finalement ce champ en objet et obtient la valeur qu'il contient.

    Enfin, le téléchargement de fichiers js est une fonction fournie après HTML5, il y a donc des problèmes de compatibilité pour parler franchement, c'est l'utilisation de ces nouvelles API. Allez sur MDN et jetez un œil aux documents et démos pertinents et ce sera le cas. presque fini

    répondre
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-07-05 11:10:28

    1.pdf devrait être convertible en base64. Excel n'a pas été testé, mais Excel peut être converti en type Blob. En théorie, il devrait être converti en base6.

    2.FormData ajoute un autre paramètre comme marque unique du fichier, puis le transmet ensemble au backend.

    répondre
    0
  • typecho

    typecho2017-07-05 11:10:28

    Je ne suis pas sûr du premier point, mais le deuxième point nécessite de réussir la session et de s'appuyer sur le serveur

    répondre
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-07-05 11:10:28

    Le deuxième point est d'ajouter un champ de saisie aux données du formulaire

    répondre
    0
  • Annulerrépondre