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 链接,将文件保存到我的计算机。的主要内容,如果未能解决你的问题,请参考以下文章
C#,我可以将文件从流或其他文件保存到我的单个 exe 中吗?