2017-02-16 98 views
-2

我正在編寫一個應用程序,該應用程序在我的cordova應用程序(正在使用Intel XDK構建)中的www/images文件夾中包含1000多個小圖像。該應用需要檢查更新並下載用戶沒有的圖像以及其他內容。我希望將新圖像保存到與現有圖像(www/images)相同的文件夾中,並且無法在任何地方找到如何執行此操作。我找到的所有文章都是關於Cordova將相機圖像保存到相冊/相機膠捲等的文章。Cordova將圖像下載保存到www文件夾中

內容將通過「注入」腳本運行,並將其保存到localStorage。我只是在努力與圖像。

回答

0

據我所知,你不能這樣做。 www文件夾是應用程序包的一部分,並且被沙盒保護以免被寫入。這是別人在這裏得到的答案:Cordova Write To WWW Directory (iOS)

您必須使用File API來寫入應用程序可用的其中一個可寫文件區域。你可以在這裏找到一些如何做到這一點的例子:https://github.com/johnwargo/apache-cordova-api-cookbook-code/tree/master/chapter10-file

從書中的一些細節:

科爾多瓦文件API提供它所需要 與設備的本地目錄結構進行交互方法的應用程序。 API 公開了應用程序可以用來瀏覽文件系統的方法, 讀取,寫入,複製,移動和刪除文件。應用程序不能僅訪問文件系統的任何部分,而只能訪問移動設備上的臨時文件存儲位置(如下所述)。

Cordova的File API實現部分基於W3C File API:目錄和系統規範 (www.w3.org/TR/file-system-api)。並非所有W3C規範的功能都已實現,但API提供了大多數移動開發人員所需的基本功能。

應用程序可以使用此API在 設備文件系統上讀取和寫入文件。應用程序可能會使用多種可用的存儲選項之一來存儲應用程序數據,但 開發人員也可以使用文件系統來使用文件系統持久存儲應用程序 設置或應用程序數據,編寫文本文件 (以XML或JSON格式),運行應用程序 。此外,請記住,相機(第3章)和Capture(第4章)API將文件寫入文件系統,應用程序 使用File API根據需要操作這些文件。

大多數智能手機提供的應用程序有兩種不同類型的文件 存儲空間。爲了存儲臨時文件,設備會公開一個 臨時存儲位置。對於 應用程序的操作不可或缺的內容和數據,在 應用程序關閉並重新啓動後,應用程序應使用 持久性存儲器後,該內容和數據必須保持可用狀態。

一般情況下,一個應用程序可能使用瞬態 數據,這是分析或操縱 大量數據時,寫入到文件系統作爲存儲 管理策略的一部分,或者作爲交換空間數據臨時存儲。使用臨時存儲時,應用程序可以在不受懲罰的情況下從存儲區域讀取 ,並在設備的可用存儲限制內根據需要刪除文件。當應用程序關閉或設備重啓時,設備操作系統可能會自動清空臨時存儲器 - 爲其他應用程序騰出存儲空間 。

另一方面,持久性存儲更穩定;設備OS 可在重新啓動期間以及應用程序關閉時對其進行保護。僅當 應用程序從設備上卸載時,操作系統纔會清空應用程序的永久存儲器。

在示例應用程序,應用程序的UI暴露了 用作示於圖 10.1與不同的文件系統類型進行交互的按鈕。從圖中可以看出,我使用jQuery Mobile爲應用程序的UI提供了 以簡化代碼並讓jQuery Mobile處理渲染文件列表,在頁面之間轉換以及 等。

相關問題