1

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

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

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

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

我查看了如何下载文件页面,但不知道在哪里下载。“下载”目录是否有可变 URI,并且常规附加组件是否具有写入权限?
这很重要,因为附加组件必须能够在各种平台上正常运行。

4

1 回答 1

1

您可以使用 pref, browser.download.lastDir,它应该适用于 windows/mac,因为它将以 OS 格式保存。但是,如果此人以前从未下载过任何东西,则可能并不总是设置首选项。在这种情况下,您必须自己构建目录。

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

要自己构建目录,您将不得不更深入一点。查看 MDN 上有关文件 I/O的这篇文章,其中包含示例。DfltDwnld密钥应该为您提供所需的目录。

您的附加组件将对 Firefox 具有写入权限的所有内容具有写入权限。

于 2013-06-27T16:54:30.573 回答