使用Firefox插件下载文件

Del*_*ani 7 firefox firefox-addon

我是Firefox插件开发的新手,到目前为止一直很顺利,但我仍然坚持如何从Web上下载一个文件,给定一个URI,并将其保存到磁盘.Mozilla的MDN文档包含有关如何上传文件的信息,但下载文件部分是空的,尚未编写.遗憾的是,我还没有找到任何描述如何执行此操作的文档.

有谁知道如何做到这一点的相关文件?


旧的Facebook Photo Album Downloader addon在其覆盖JavaScript中使用此函数调用:

saveURL(images[i].replace(/\/s/g, "/n"), null, null, false, true, null);
Run Code Online (Sandbox Code Playgroud)

显然,第一个参数是要请求的URI.该saveURL函数未在任何地方定义,因此我假设它是一个扩展API函数.我在我的新插件中试过它,它确实有用.但是,我想知道其他论点的含义.

Mat*_*ner 5

执行此操作的标准方法是使用nsIWebBrowserPersist:

var persist =
  Cc["@mozilla.org/embedding/browser/nsWebBrowserPersist;1"].
  createInstance(Ci.nsIWebBrowserPersist);
persist.saveURI(serverURI, null, null, null, "", targetFile);
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅https://developer.mozilla.org/en/Code_snippets/Downloading_Files.