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


Provide file download webpage without server side code

假设我有这个字符串"something1,something2",我想下载它为"text.csv",不打开新窗口(弹出)我怎么能从网页做到这一点。

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

还是我必须使用PHP ?

你想要做的是有点非常规,但这是可能的。

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

David Walsh在他的博客上也有一些很好的演示和信息。

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

作为url,将打开图像

数据:图像/png; base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg = =

你可以让javascript打开这个url来触发下载

CSV示例

数据:文本/csv, field1 % 2 cfield2 % 0 afoo % 2 cbar % 0 agoo % 2 cgai % 0 a

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

例如IE 8有32KiB的限制