2013-06-27 16 views
1

我目前正試圖從網上下載一個小的二進制文件,以便使用API​​將這些文件上傳到另一個網站。使用附加SDK下載/上傳文件

以前的版本似乎有用於這種目的的「文件」API模塊,但我看不到類似於最新版本(1.14)的任何內容。

要下載的文件將以某種形式的緩存(瀏覽器緩存,最好)保存,其路徑存儲在某處,然後通過POST上傳到另一個URL。

我該怎麼辦呢,當這個過程應該完全發生在後臺?

我檢出了how to download a file頁面,但無法確定要下載的地方。 「Downloads」目錄是否存在變量URI,並且常規附加組件是否具有寫入權限?
這很重要,因爲附加組件必須能夠在各種平臺上正常運行。

回答

1

您可以使用pref browser.download.lastDir,它應該適用於windows/mac,因爲它將以操作系統格式保存。但是,如果此人以前從未下載過任何內容,則可能無法始終設置該前綴。在這種情況下,你必須自己建立目錄。

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

要自己構建目錄,您必須深入一點。查看關於File I/O的MDN上的這篇文章,其中有例子。 DfltDwnld鍵應該給你你想要的目錄。

您的加載項對Firefox擁有寫入權限的所有內容都具有寫入權限。