在Firefox中自动保存文件
Auto Save a file in Firefox
我正试图找到一种方法,通过JS在Firefox中自动保存文件。到目前为止,我在Windows桌面上使用FireShot的方式:
var element = content.document.createElement("FireShotDataElement");
element.setAttribute("Entire", EntirePage);
element.setAttribute("Action", Action);
element.setAttribute("Key", Key);
element.setAttribute("BASE64Content", "");
element.setAttribute("Data", Data);
element.setAttribute("Document", content.document);
if (typeof(CapturedFrameId) != "undefined")
element.setAttribute("CapturedFrameId", CapturedFrameId);
content.document.documentElement.appendChild(element);
var evt = content.document.createEvent("Events");
evt.initEvent("capturePageEvt", true, false);
element.dispatchEvent(evt);
但问题是,它会打开一个对话框来确认本地驱动器位置的详细信息。有没有一种方法可以硬编码本地驱动器存储位置并自动保存文件?
如果你正在创建Firefox插件,那么FileUtils和NetUtil.asyncCopy就是你的朋友:
Components.utils.import("resource://gre/modules/FileUtils.jsm");
Components.utils.import("resource://gre/modules/NetUtil.jsm");
var TEST_DATA = "this is a test string";
var source = Components.classes["@mozilla.org/io/string-input-stream;1"].
createInstance(Components.interfaces.nsIStringInputStream);
source.setData(TEST_DATA, TEST_DATA.length);
var file = new FileUtils.File("c:''foo''bar.txt");
var sink = file.openSafeFileOutputStream(file, FileUtils.MODE_WRONLY |
FileUtils.MODE_CREATE);
NetUtil.asyncCopy(source, sink);
这将异步地将字符串this is a test string
写入文件c:'foo'bar.txt
。请注意,NetUtil.asyncCopy
会自动关闭两个流,您不需要这样做。但是,您可能需要将一个函数作为第三个参数传递给此方法-它将在写入操作完成时被调用。
另请参阅:代码片段,写入文件
每台计算机都有不同的文件结构。但是,还是有办法的。您可以将其保存到cookie/会话中,这取决于您的数据想要的"永久性"程度。
不要考虑写入物理文件,因为它需要额外的权限。
相关文章:
- 在Firefox中自动保存文件
- 提示用户通过AJAX调用保存文件
- 如何提供保存文件而不是从internet explorer打印文件的选项
- Basecamp的Trix WYSIWYG编辑器gem没有在Rails 4应用程序中保存文件附件
- 钛:从Android的相机/图库图像本地保存文件
- 如何使用office.js检查未保存文件的具体文件扩展名
- node-webkit:将数据导出到csv并提示用户保存文件
- 通过本地应用程序的Javascript保存文件
- 如何为使用 JSP 生成的下载文件显示“保存文件”对话框
- 在浏览器中保存文件的Javascript
- 使用数据URI提示用户保存文件
- 如何在使用php使用jquery编辑文件后保存文件
- 如何在Safari中显示保存文件对话框
- Javascript:使用ActiveXobject保存文件
- 强制浏览器在单击链接后保存文件
- 使用 Javascript 运行批处理文件 - Firefox
- 如何在javascript中将事件添加到浏览器的“保存文件”对话框中
- 谷歌浏览器扩展程序在客户端保存文件
- 在文件保护程序.js中保存文件后关闭窗口
- Firefox OS -在应用程序目录中保存文件