【发布时间】:2010-04-29 15:20:55
【问题描述】:
忽略我之前的预编辑帖子。重新思考我需要做什么。这就是我目前正在做的事情: https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsIScriptableIO
downloadFile: function(httpLoc) {
try {
//new obj_URI object
var obj_URI = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService).
newURI(httpLoc, null, null);
//new file object
//set file with path
obj_TargetFile.initWithPath("C:\\javascript\\cache\\test.pdf");
//if file doesn't exist, create
if(!obj_TargetFile.exists()) {
obj_TargetFile.create(0x00,0644);
}
//new persitence object
var obj_Persist = Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].
createInstance(Ci.nsIWebBrowserPersist);
// with persist flags if desired
const nsIWBP = Ci.nsIWebBrowserPersist;
const flags = nsIWBP.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
obj_Persist.persistFlags = flags | nsIWBP.PERSIST_FLAGS_FROM_CACHE;
//save file to target
obj_Persist.saveURI(obj_URI,null,null,null,null,obj_TargetFile);
return true;
} catch (e) {
alert(e);
}
},//end downloadFile
正如您所看到的那样,该目录是硬编码的,我想将在活动选项卡中打开的 pdf 文件保存到一个相对的临时目录,或者任何足够让用户不会绊倒并删除的地方它。我将尝试使用文件 I/O,我的印象是我正在寻找的是可编写脚本的文件 I/O,因此被禁用。
【问题讨论】:
标签: javascript firefox pdf firefox-addon