通过websocket接收文件并启动下载对话框

时间:2012-03-26 11:34:36

标签: javascript html5 download filesystems websocket

我的HTML5 Web应用程序通过websocket接收文件作为二进制数据。有没有办法启动文件下载对话框(通过javascript)将收到的数据保存到用户磁盘?

谢谢!

2 个答案:

答案 0 :(得分:4)

您需要构建一个dataUri并使用它打开一个新窗口。特定的mimetypes可以触发浏览器的自动保存为对话框。

示例数据uri:"data:application/octet-stream,base64" + base64binary

答案 1 :(得分:0)

尚未,不。新File API目前仅涵盖阅读。 更新:如果您只需要在Peter's answer上执行此操作,请参阅cutting-edge (and to date, non-IE) browsers,您可以使用data: URI方案执行此操作。

通常的方法是使用Content-Disposition: attachment通过HTTP将文件接收到隐藏的iframe中以触发文件下载对话框,而不是通过Web套接字接收它。