使用附加SDK下载/上传文件

时间:2013-06-27 14:24:54

标签: firefox-addon-sdk

我目前正在尝试从网上下载一个小型二进制文件,以便使用该API将其上传到其他网站。

以前的版本似乎有“文件”API模块用于此类目的,但我看不到与最新版本(1.14)相似的任何内容。

要下载的文件将保存在某种形式的缓存中(最好是浏览器缓存),其路径存储在某处,然后通过POST上传到另一个URL。

当这个过程完全在后台发生时,我该如何处理呢?

我查看了how to download a file页面,但无法确定下载位置。 “Downloads”目录是否有变量URI,并且常规Add-On是否具有写入权限?
这很重要,因为附加组件必须能够在各种平台上正常运行。

1 个答案:

答案 0 :(得分:1)

你可以使用pref,browser.download.lastDir,它应该适用于windows / mac,因为它将以OS格式保存。但是,如果此人之前从未下载任何内容,则可能无法始终设置pref。在这种情况下,您必须自己构建目录。

var dir = require("sdk/preferences/service").get('browser.download.lastDir');

要自己构建目录,您必须更深入一点。在MDN上查看有关File I/O的有关示例的文章。 DfltDwnld键应该为您提供所需的目录。

您的加载项将具有对Firefox具有写入权限的所有内容的写入权限。