HTML 链接,将文件保存到我的计算机。

Posted

技术标签:

【中文标题】HTML 链接,将文件保存到我的计算机。【英文标题】:HTML Link, to save a file to my computer. 【发布时间】:2015-06-25 13:01:15 【问题描述】:

大家好,我正在使用一个简单的 html 链接来保存生成的 .xml 文件

<a href="./serverfile.xml">Save your file</a>

问题是,当我点击上面的链接时,浏览器没有打开文件对话框将文件保存在我的本地 Windows 计算机中,而是像网页一样打开它。

这个问题有什么解决办法吗?可能是一些 javascript 或其他东西.... 也可以在定义的文件夹路径处打开文件对话框吗?

非常感谢!

【问题讨论】:

这是您理想情况下应该在服务器上执行的操作。您使用的是哪种服务器软件? 可能是***.com/questions/3749231/…的欺骗 可能重复.. 看到这个答案:***.com/questions/10615797/… Force a browser to save file as after clicking link的可能重复 How to force a Download File prompt instead of displaying it in-browser with HTML? 的可能副本 【参考方案1】:

您可以使用来自服务器端的带有以下标头的标头来执行此操作:

Content-Disposition: attachment; filename=Filename.xml

如果您指定服务器端语言,如果您可以控制那一侧,我可以将其更改为代码而不是通用标题。

或者从客户端通过 html5 属性:http://www.sitepoint.com/new-html5-attributes-hyperlinks-download-media-ping/。

<a href="./serverfile.xml" download="Filename.xml">Save your file</a>

这可能不适用于所有浏览器,请参阅http://caniuse.com/#feat=download 以了解您是要进行客户端还是服务器端处理。

【讨论】:

这个方法比较新,老浏览器不支持! 这就是为什么我链接 caniuse.com,这取决于它可以工作的预期目标。我们将这种方法用于仅支持 chrome 的 Web 应用程序,并使用 node-webkit 推送一个 webkit 包装器,将自己作为我们的应用程序呈现给不会安装 chrome 的客户端。 以及为什么我把服务器解决方案放在首位。

以上是关于HTML 链接,将文件保存到我的计算机。的主要内容,如果未能解决你的问题,请参考以下文章

将 HTML DOM 保存到服务器上的文件

C#,我可以将文件从流或其他文件保存到我的单个 exe 中吗?

如何将 URL 中的 XmL 数据保存到我的数据库中

将json文件保存到计算机python

如何从相机胶卷中选择一张图片,然后将其保存到我的应用程序的“支持文件”文件夹中,然后选择保存文件的名称?

如何每次将新数据保存到我的 plist 文件而不是替换旧数据?