2016-01-24 75 views
2

我使用的是JavaScript的用户下载它看起来像这样生成文件:下载文件与文件名用户下载设定

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

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

我该如何做到这一点?

+2

你不能得到名称,用户设定。这并不安全。 –

+0

**否**,用户在浏览器控件中输入的内容超出了javascript的控制范围。 – gurvinder372

回答

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/