使用带有指定文件名和扩展名的浏览器将文件保存到本地系统,使用 html 和 javascript,无需服务器交互

Posted

技术标签:

【中文标题】使用带有指定文件名和扩展名的浏览器将文件保存到本地系统,使用 html 和 javascript,无需服务器交互【英文标题】:Save file to the local system using browser with the specified filename and extension using html & javascript without server interaction 【发布时间】:2011-08-26 06:13:23 【问题描述】:

我们在其中一个应用程序中使用 html5 和 javascript。要求是当用户点击一个按钮时,我们应该下载一个包含所有用户输入数据的文件。应该没有服务器交互来执行此操作。

通过使用 ActiveX 对象,我们可以做到这一点。但仅限于 Internet Explorer。

通过在服务器上设置响应头,我们也可以实现这一点。但是我们不能使用服务器交互来做到这一点。

我们尝试使用 mime 类型为“application/octect-stream”的 base64 数据。它正在使用准确的数据将“xxx.part”文件下载到本地系统。但是我们无法为文件设置自己的文件名和扩展名(因为我们不能使用 .part 作为扩展名)。

请建议我们一种从浏览器下载文件的方法,无需服务器与所需文件名和扩展名进行交互,适用于所有浏览器。

【问题讨论】:

我认为你做不到,作为用户我当然希望你做不到。我不希望网页能够以任何方式访问我的计算机的文件系统,至少不通过浏览器提供的保存(或打开)对话框。 【参考方案1】:

目前不使用 ActiveX 或 Flash 是不可能的。看看Downloadify,看看它是否适合你。

【讨论】:

【参考方案2】:

我们尝试使用 mime 类型为 'application/octect-stream' 的 base64 数据

您是否尝试过设置适当的响应标头?

Response.AppendHeader("Content-Disposition", "attachment; filename=name.ext");

【讨论】:

我们不能使用任何服务器端技术。感谢您的快速响应。

以上是关于使用带有指定文件名和扩展名的浏览器将文件保存到本地系统,使用 html 和 javascript,无需服务器交互的主要内容,如果未能解决你的问题,请参考以下文章

java怎么通过链接下载文件,然后保存到指定位置?

java怎么通过链接下载文件,然后保存到指定位置?

js如何保存文件

自动保存带有 .py 扩展名的 Python 脚本

mPDF将本地文件+文件内联输出到浏览器

js中如何将某地址的图片保存到本地指定文件夹中