Comment créer un fichier en mémoire que l'utilisateur pourra télécharger au lieu de passer par le serveur ?
P粉231112437
P粉231112437 2023-08-23 17:55:41
0
2
424

Existe-t-il un moyen de créer un fichier texte côté client et d'inviter l'utilisateur à le télécharger sans aucune interaction avec le serveur ?

Je sais que je ne peux pas écrire directement sur leur ordinateur (sécurité, etc.), mais puis-je créer le fichier et l'inviter à l'enregistrer ?

P粉231112437
P粉231112437

répondre à tous (2)
P粉473363527

Une solution simple pour les navigateurs HTML5...

function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); }
form * { display: block; margin: 10px; }

Utilisation

download('test.txt', 'Hello world!');
    P粉727531237

    Vous pouvez utiliser l'URI des données. La prise en charge du navigateur varie ; voirWikipedia. Exemple :

    text file

    Flux d'octets pour forcer les invites de téléchargement. Sinon, il risque de s'ouvrir dans le navigateur.

    Pour CSV, vous pouvez utiliser :

    CSV Octet

    Essayez la démojsFiddle.

      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal
      À propos de nous Clause de non-responsabilité Sitemap
      Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!