javaScript产生一个文件保存对话框
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaScript产生一个文件保存对话框相关的知识,希望对你有一定的参考价值。
请问如何用javascript产生一个文件保存对话框,并且得到保存的路径;
试过
document.execCommand('SaveAs');
但是好像是把网页下载下来了,我现在不需要下载,只希望通过保存界面获得保存的路径。
急求!!!!谢谢!!!!
不是,我并不需要下载文件,只是现在需要一个可视化的文件选择对话框来选择一个文件,然后我需要这个选择的路径,这个路径另有他用。
追答那么很抱歉了,浏览器不具有这样的功能
参考技术B javascript 获取保存路径 可以使用prompt函数保存文件 只能保存到服务器,但你不能保存到客户端,目前Javascript 没有操作Windows的功能追问
我其实不需要保存文件,只是弹出个框,用户选择路径后能够返回这个路径就可以了,prompt这个好像没有用户选择界面吧
追答1自己写个表单 用显示隐藏属性 模拟
2 用Jquery或者Extjs库的组件
变通的办法,你可以用<input type="file" />来取。 参考技术D 可以模拟一个超链接的点击,此超链接用于下载文件。本回答被提问者采纳
通过 websocket 接收文件并启动下载对话框
【中文标题】通过 websocket 接收文件并启动下载对话框【英文标题】:receive file via websocket and initiate download dialog 【发布时间】:2012-03-26 11:34:36 【问题描述】:我的 HTML5 Web 应用程序通过 websocket 接收作为二进制数据的文件。有没有办法启动文件下载对话框(通过 javascript)将接收到的数据保存到用户磁盘?
谢谢!
【问题讨论】:
【参考方案1】:您需要构建一个 dataUri 并使用它打开一个新窗口。特定的 mimetype 可以触发浏览器的自动另存为对话框。
示例数据 uri:"data:application/octet-stream,base64" + base64binary
【讨论】:
+1 好主意,它甚至似乎工作:jsbin.com/acohaz 有 some browser compatibility issues -- 尤其是即使 IE9 还不支持以这种方式使用data:
URI -- 但它是唯一的如果您确实需要将数据保存在客户端,然后启动下载窗口,请在城里玩游戏。【参考方案2】:
还没有,没有。新的File API 目前只涵盖阅读。 更新:如果您只需要在cutting-edge (and to date, non-IE) browsers 上执行此操作,请参阅Peter's answer,您可以使用data:
URI 方案执行此操作。
执行此操作的常用方法是通过 HTTP 将文件接收到隐藏的 iframe 中,使用 Content-Disposition: attachment
触发文件下载对话框,而不是通过网络套接字接收它。
【讨论】:
以上是关于javaScript产生一个文件保存对话框的主要内容,如果未能解决你的问题,请参考以下文章