寫入磁碟

Adobe AIR 1.0 以及更新的版本

在網頁瀏覽器中執行的應用程式只能與使用者的本機檔案系統進行有限的互動。網頁瀏覽器會實作安全性原則,確保使用者的電腦不會因為載入網頁內容而受到危害。例如,在瀏覽器中透過 Flash Player 執行的 SWF 檔不能與已經在使用者電腦上的檔案直接進行互動。共享的物件和 Cookie 可以寫入至使用者的電腦,供維護使用者偏好設定及其它資料之用,但這是檔案系統互動的極限。由於 AIR 應用程式會以原生方式進行安裝,它們有不同的安全性合約,其中包括跨本機檔案系統讀取和寫入的功能。

這種自由會為開發人員增添許多責任。意外的應用程式安全性違規不但會危及應用程式的功能,更會對使用者的電腦造成傷害。因此,開發人員應該要參閱開發人員的最佳安全性做法

AIR 開發人員可以使用多種 URL 配置慣例,存取並將檔案寫入本機檔案系統:

URL 配置

說明

app:/

應用程目錄的別名。從此路徑存取的檔案會指定應用程式安全執行程序,並由執行階段授予完整權限。

app-storage:/

本機儲存目錄的別名,由執行階段進行標準化。從此路徑存取的檔案會指定非應用程式安全執行程序。

file:///

代表使用者硬碟的根目錄之別名。如果應用程式目錄中有檔案存在,從此路徑存取的檔案會指定應用程式安全執行程序,否則,會指定非應用程式安全執行程序。

備註: AIR 應用程式不能使用 app: URL 配置修改內容。而且,由於系統管理員設定所致,應用程式目錄只能讀取。

除非使用者電腦有系統管理員限制,否則,AIR 應用程式便有權限,可寫入至使用者硬碟的任何位置。建議開發人員使用 app-storage:/ 路徑來進行與應用程式相關的本機儲存。從應用程式寫入 app-storage:/ 的檔案會放置於標準位置:

  • 在 Mac OS 上:應用程式的儲存目錄是 <appData>/<appId>/Local Store/,其中 <appData> 是使用者的偏好設定資料夾。一般是 /Users/<使用者>/Library/Preferences

  • 在 Windows 上:應用程式的儲存目錄是 <appData>\<appId>\Local Store\,其中 <appData> 是使用者的 CSIDL_APPDATA 特殊資料夾,一般來說是 C:\Documents and Settings\<使用者名稱>\Application Data

  • 在 Linux 中:<appData>/<appID>/Local Store/,其中的 <appData>/home/<user>/.appdata

如果應用程式是設計用來與使用者檔案系統中的現有檔案互動,請務必參閱開發人員的最佳安全性做法