Javascript中类似“内容处理”的行为
"Content-disposition"-like behavior with Javascript
我想知道是否有可能使浏览器的行为方式与看到"Content-disposition: attachment;文件名=…"只使用客户端javascript ?这意味着要保存的文件的数据仅在客户端可用。
。假设我们有一个javascript数组,只在客户端,
var data = [
["aa","bb","cc","dd","ee","ff","gg","hh","ii"]
[ 1, 2, 3, 4, 5, 6, 7, 8, 9],
..
];
,我想把这个数组作为文本文件保存到用户的计算机上。必须提示用户输入文件名(例如:我没有试图绕过浏览器的安全设置或类似的东西)。
如果不将数组存储到服务器的临时文件并再次请求将此临时文件返回给用户,这是可行的吗?如果这个问题没有简单的答案-任何想法,谷歌关键词或链接是非常感激的。
您不能使用纯JavaScript解决方案—您需要让来自服务器的文件推送。
但是你不需要在服务器上有一个"物理"文件来完成这个。您可以将数据字符串存储在内存中,并从内存写入响应流。但是,如果不告诉我们您正在使用的服务器端技术,您将无法得到关于如何做到这一点的更详细的答案。
我敢肯定,使用Javascript在任何跨浏览器的方式下都无法很好地做到这一点。
如果你真的不想使用服务器,你可以使用Flash制作一个混合解决方案。从本质上讲,你可以创建一个自定义的Flash控件,你可以通过Javascript (ExternalInterface)与之通信,然后Flash控件将启动"文件保存"操作。
这里有一篇关于这个主题的文章:用Flash Player 10保存文件
看看downloadadify:它使用了@Adam
var YourTextData = "text data here";
window.location.href = "data:application/octet-stream," + encodeURIComponent(YourTextData);
相关文章:
- 节点通过FTP流式传输和处理压缩内容
- 如何处理HTTP 204”;无内容”;在Restangular POST中
- 为什么jQuery不处理附加内容
- Jquery函数无法处理动态加载的内容(不是绑定函数)
- 在事件处理中,将内容脚本优先于本地脚本
- 在客户端的 IFRAME 中对内容进行沙盒处理
- 克隆内容,附加和预处理
- 使用parseInt将整数值添加到字符串中,而不处理动态添加的内容
- JQuery无法处理ajax返回的内容
- jQuery按钮事件处理程序没有't更改内容
- 最近未处理动态添加的内容
- rangy-如何处理iframe中的内容
- 触发器不会'不处理通过ajax加载的内容
- 使用JavaScript的Google Drive:处理文件内容
- 如何处理下拉列表's所选内容正在更改
- Chrome扩展:如何在全局范围内捕获/处理内容脚本错误
- Javascript:事件处理/内容更新/提交
- JavaScript 任务调度程序(批处理处理)
- 使用jQuery将动态内容预处理为多个元素
- 纸张标题-面板-为事件内容分配处理程序-手动滚动