【问题标题】:Replace file when downloading下载时替换文件
【发布时间】:2014-12-23 17:52:04
【问题描述】:

参考这个例子:http://jsfiddle.net/m9nts8r1/

如何在按下“下载”按钮时更新updatedText.xml 的内容,就像在任何应用程序中按下“保存”按钮时一样?

在这种情况下,我只会得到另一个 updatedText (1).xmlupdatedText (2).xml 等等。

此外,如果可以指定保存updatedText.xml 的目录,那就太好了。

有人有想法吗?

【问题讨论】:

标签: javascript html file download


【解决方案1】:

你不能这样做。下载文件后,它就在您的硬盘上。您的网络浏览器无权访问您的文件系统(想象一下,如果一个网站可以查看您的文件甚至更改它们,那将会是多么混乱)。我猜你将不得不忍受新创建的文件或用另一种技术解决你的问题。

【讨论】:

  • 你是对的。如果其他人更改我的文件,那将是致命的。我将数据加载到数据库中。本来我是想避免这种情况,因为我想一键启动一个web应用,不需要数据库。
  • 您知道有多种方法可以在浏览器中保存数据而无需网络服务器数据库吗?查看html5rocks.com/en/features/storage了解更多信息
【解决方案2】:

你可以在chrome浏览器中做到这一点

从此链接下载扩展 https://github.com/zach-adams/downloads-overwrite-already-existing-files “一个 chrome 扩展,将所有下载设置为覆盖现有文件,而不是添加‘(1)’、‘(2)’等。” 然后将扩展名添加到chrome 这将解决您的问题。

【讨论】:

  • 有人解释反对票会很有用。是建议的插件不稳定,还是k-nut描述的概念有缺陷。
  • 我认为这是一个很好的答案。一个可能的反对意见是,由于我们正在编写 javascript,我们不能期望我们网站的每个用户都安装它,所以这不是他们的解决方案。事实上,这个线程的第一个答案是正确的:我们不能为所有用户实现解决方案,因为你不能只玩文件系统上的文件。但是,如果(像我一样)你只是想覆盖你自己文件系统上的文件,这很好。
猜你喜欢
  • 2011-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-15
  • 2011-05-17
  • 2013-07-16
  • 1970-01-01
相关资源
最近更新 更多