QQ小程序 介紹

2020-07-17 10:23 更新

文件系統(tǒng)

文件系統(tǒng)是小程序提供的一套以小程序和用戶維度隔離的存儲以及一套相應的管理接口。通過 qq.getFileSystemManager() 可以獲取到全局唯一的文件系統(tǒng)管理器,所有文件系統(tǒng)的管理操作通過 FileSystemManager 來調用。

  1. const fs = qq.getFileSystemManager()```
  2. 文件主要分為兩大類:
  3. - 代碼包文件:代碼包文件指的是在項目目錄中添加的文件。
  4. - 本地文件:通過調用接口本地產(chǎn)生,或通過網(wǎng)絡下載下來,存儲到本地的文件。
  5. 其中本地文件又分為三種:
  6. 1. 本地臨時文件:臨時產(chǎn)生,隨時會被回收的文件。不限制存儲大小。
  7. 2. 本地緩存文件:小程序通過接口把本地臨時文件緩存后產(chǎn)生的文件,不能自定義目錄和文件名。除非用戶主動刪除小程序,否則不會被刪除。跟本地用戶文件共計,普通小程序最多可存儲 10MB,游戲類目的小程序最多可存儲 50MB。
  8. 3. 本地用戶文件:小程序通過接口把本地臨時文件緩存后產(chǎn)生的文件,允許自定義目錄和文件名。除非用戶主動刪除小程序,否則不會被刪除。跟本地緩存文件共計,普通小程序最多可存儲 10MB,游戲類目的小程序最多可存儲 50MB。
  9. ##代碼包文件
  10. 由于代碼包文件大小限制,代碼包文件適用于放置首次加載時需要的文件,對于內容較大或需要動態(tài)替換的文件,不推薦用添加到代碼包中,推薦在小游戲啟動之后再用下載接口下載到本地。
  11. ### 訪問代碼包文件
  12. 代碼包文件的訪問方式是從項目根目錄開始寫文件路徑,不支持相對路徑的寫法。
  13. ### 修改代碼包文件
  14. 代碼包內的文件無法在運行后動態(tài)修改或刪除,修改代碼包文件需要重新發(fā)布版本。
  15. ##本地文件
  16. 本地文件指的是小程序被用戶添加到手機后,會有一塊獨立的文件存儲區(qū)域,以用戶維度隔離。即同一臺手機,每個QQ用戶不能訪問到其他登錄用戶的文件,同一個用戶不同 appId 之間的文件也不能互相訪問。
  17. 本地文件的文件路徑均為以下格式:

{{協(xié)議名}}://文件路徑

  1. 其中,協(xié)議名在 iOS/Android 客戶端為 "qqfile",在開發(fā)者工具上為 "http",開發(fā)者無需關注這個差異,也不應在代碼中去硬編碼完整文件路徑。
  2. 本地臨時文件
  3. 本地臨時文件只能通過調用特定接口產(chǎn)生,不能直接寫入內容。本地臨時文件產(chǎn)生后,僅在當前生命周期內有效,重啟之后即不可用。因此,不可把本地臨時文件路徑存儲起來下次使用。如果需要下次在使用,可通過 FileSystemManager.saveFile() FileSystemManager.copyFile() 接口把本地臨時文件轉換成本地緩存文件或本地用戶文件。
  4. ## 示例

qq.chooseImage({ success(res) { const tempFilePaths = res.tempFilePaths // tempFilePaths 的每一項是一個本地臨時文件路徑 } })

  1. ## 本地緩存文件
  2. 本地緩存文件只能通過調用特定接口產(chǎn)生,不能直接寫入內容。本地緩存文件產(chǎn)生后,重啟之后仍可用。本地緩存文件只能通過 FileSystemManager.saveFile() 接口將本地臨時文件保存獲得。
  3. ## 示例

fs.saveFile({ tempFilePath: '', // 傳入一個本地臨時文件路徑 success(res) { console.log(res.savedFilePath) // res.savedFilePath 為一個本地緩存文件路徑 } })

  1. ### 本地用戶文件
  2. 我們提供了一個用戶文件目錄給開發(fā)者,開發(fā)者對這個目錄有完全自由的讀寫權限。通過 qq.env.USER_DATA_PATH 可以獲取到這個目錄的路徑。
  3. ### 示例

// 在本地用戶文件目錄下創(chuàng)建一個文件 hello.txt,寫入內容 "hello, world" const fs = qq.getFileSystemManager() fs.writeFileSync(${qq.env.USER_DATA_PATH}/hello.txt, 'hello, world', 'utf8')

  1. ### 讀寫權限
  2. |接口、組件||寫|
  3. |:-|
  4. |代碼包文件||無|
  5. |本地臨時文件||無|
  6. |本地緩存文件||無|
  7. |本地用戶文件||有|
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號