提供没有服务器端代码的文件下载网页

时间:2011-10-03 16:32:48

标签: php javascript html http

让我说我有这个字符串“something1,something2”,我想将其下载为“text.csv”,而不打开新窗口(弹出)我怎么能从网页上做到这一点。我可以在不使用它的情况下点缀它:

 window.open('data:text/csv;charset=utf-8,' + str);

或者我必须使用PHP吗?

2 个答案:

答案 0 :(得分:1)

你想做的事情有点不同寻常,但有可能。

看看Downloadify。它是一个JavaScript库,它依靠Flash在客户端创建文件并显示文件下载对话框。

David Walsh也有一些很好的演示和信息on his blog

答案 1 :(得分:0)

虽然有限,但还有http://en.wikipedia.org/wiki/Data_Uri

所以这是一个url会打开一个图像

  

数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4 // 8 / w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg ==

您可以让javascript打开此网址以触发下载

CSV示例

  

数据:文本/ CSV,FIELD1%2Cfield2%0Afoo%2Cbar%0Agoo%2Cgai%0A

只需将其中任何一个复制/粘贴到浏览器中即可查看它们的工作情况。浏览器支持有限。

例如,IE 8具有32KiB限制