我设法使用javascript这样创建和保存文件:
<a download id=dummy_download>
<button type="button" onclick="saveFunction()">Save</button>
</a>
<script>
function saveFunction() {
var textToSave = "This is a long textfile generated by some other function.";
var hiddenElement = document.getElementById('dummy_download');
hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(textToSave);
hiddenElement.target = '_blank';
hiddenElement.download = "filename.txt";
}
</script>
当我单击“保存”按钮时,“ textToSave”字符串将自动下载到名称为“ filename.txt”的“下载”文件夹中。在Chromium和Firefox中,都可以右键单击“保存”按钮,然后选择“将链接另存为...” ,然后会出现一个对话框,允许用户更改名称和位置文件。
是否可以确保即使在用鼠标左键单击时也总是得到对话框,或者“将链接另存为...” 仅仅是Web浏览器功能?
我发现了很多类似的问题,尽管它们中的大多数似乎都归结为如何实际保存某些东西的问题,这不是我要的。有些人似乎表明它会提示另存为对话框,但是,对我来说,它只是将文件下载到“下载”。
JavaScript: Create and save file