12

我想知道是否有任何方法可以使用 JavaScript 实现浏览器的下载文件提示。

我的理由 - 用户会将文件上传到无法从网络服务器访问的本地文件服务器。换句话说,两者都将在不同的域上!

例如,假设网站托管在 上www.xyz.com,但文件将驻留在本地文件服务器上,地址为\\10.10.10.01\Files\file.txt. 我如何上传/传输文件到本地文件服务器...使用 ActiveX 和 VBscript!(不要问:-)

所以我将本地文件路径存储在我的数据库中并将该数据绑定到网格。当用户单击该链接时,文件会在一个窗口中打开(使用 JavaScript)。

问题是某些文件类型,如文本、jpg、pdf 等。在浏览器窗口中打开。我将如何实现content-typecontent-disposition使用客户端脚本?这甚至可能吗?

编辑:本地文件服务器有一个保存文件的窗口共享文件夹。

4

4 回答 4

6

“content-disposition: attachment” 几乎是强制执行此操作的唯一方法,并且必须在响应标头中进行设置。

于 2009-04-07T19:05:37.900 回答
5

如果文件托管在您的示例中的 Web 服务器上,您可以执行以下操作:

window.location.replace(fileUrl);

..浏览器会弄清楚如何处理该文件。这适用于大多数文件,例如 .xls、.csv 等,但请记住,这不是完全证明,因为用户的 MIME 处理程序设置将确定如何处理文件......即如果它是一个 .txt 文件,它很可能只是显示在浏览器中,不会出现“文件下载”对话框。

于 2011-09-07T16:05:06.927 回答
4

自 2015 年 8 月起,将“下载”属性添加到您的标签中,可以实现您正在寻找的行为,至少在 Chrome 中是这样。

于 2015-08-03T16:24:46.147 回答
2

您可以尝试使用带有type="application/octet-stream". 似乎在 FF 中工作,但 IE 和 Opera 忽略该属性。

于 2009-04-07T19:12:03.970 回答