在内存中生成下载文件,供用户下载文件名用户设置

时间:2016-01-24 20:22:16

标签: javascript html file save savefiledialog

我正在使用javascript生成文件供用户下载,如下所示:

<a href="data:application/octet-stream;charset=utf-8;base64,Zm9vIGJhcg==">text file</a>

我需要的是获取用户在保存文件时设置的文件名,以便我可以在我的网站上显示。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

简单回答是: 你不能。

复杂的答案是:

您可以创建一个脚本来预先设置用户的文件名。 只需创建一些弹出窗口或提示符,您将要求命名该文件。 之后,您可以通过JavaScript编辑下载属性,用户将下载具有该名称的文件。 (如果他没有在下载对话框中更改它) 像这样:

var fileName = prompt("Please name your file", "OriginalFileName"),
fileLink = document.getElementById('file');
if(fileName!= null){
  fileLink.download = fileName;
  fileLink.innerHTML = fileName;
}
<a download='OriginalFileName' id="file" href="data:application/octet-stream;charset=utf-8;base64,Zm9vIGJhcg==">text file</a>

https://jsfiddle.net/6o2fxcvd/1/

上的实例