Maison > Questions et réponses > le corps du texte
P粉4733635272023-08-24 17:11:36
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;
}
<form onsubmit="download(this['name'].value, this['text'].value)">
<input type="text" name="name" value="test.txt">
<textarea name="text"></textarea>
<input type="submit" value="Download">
</form>
Utilisation
download('test.txt', 'Hello world!');
P粉7275312372023-08-24 13:05:14
Vous pouvez utiliser l'URI des données. La prise en charge du navigateur varie ; voir Wikipedia. Exemple :
<a href="data:application/octet-stream;charset=utf-16le;base64,//5mAG8AbwAgAGIAYQByAAoA">text file</a>
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 :
<a href="data:application/octet-stream,field1%2Cfield2%0Afoo%2Cbar%0Agoo%2Cgai%0A">CSV Octet</a>
Essayez la démo jsFiddle.