我的HTML5 web应用程序通过websocket接收作为二进制数据的文件。是否有任何方法可以启动文件下载对话框(通过javascript)将接收到的数据保存到用户磁盘?
谢谢!
您需要构建一个dataUri并用它打开一个新窗口。特定的mimetype可以触发浏览器的自动另存为对话框。
示例数据uri:"data:application/octet-stream,base64" + base64binary
还没有,没有。新的文件API目前只包括读取更新:如果您只需要在尖端(以及迄今为止的非IE)浏览器上执行此操作,请参阅Peter的回答,在那里您可以使用data:
URI方案执行此操作。
通常的方法是通过HTTP将文件接收到一个隐藏的iframe中,使用Content-Disposition: attachment
来触发文件下载对话框,而不是通过web套接字接收。