百度智能小程序 本地文件

2020-09-05 15:02 更新

本地臨時文件

  • “本地臨時文件” 是通過調(diào)用特定的接口臨時產(chǎn)生的文件(如使用 ?swan.downloadFile(...)? 下載而來)。這些特定的 API 會返回一個臨時文件地址,該地址只能在當(dāng)前小程序的生命周期內(nèi)使用,在小程序重啟后,該臨時地址和 “本地臨時文件” 會被清除。
  • “本地臨時文件” 可以通過 ?fs.saveFile(...)? 或 ?fs.copyFile(...)? 來持久化成 “本地用戶文件”。
  • 生命周期:
    • 通過調(diào)用特定的接口產(chǎn)生。
    • 當(dāng)退出當(dāng)前小程序時,或者后臺運行小程序至 5 分鐘后,或者殺死百度 APP 進程時,或者小程序被刪除時,會被清除。
  • 讀寫權(quán)限:只可讀,不可寫入,也不可在 “本地臨時文件” 所在目錄中創(chuàng)建其他文件。
  • 訪問路徑:由 API 自動生成(另外也可在調(diào)用 API 時直接指定路徑存為 “本地用戶文件”)。
  • 存儲空間限制:不限制存儲大小。

例如:

const fileSystemManager = swan.getFileSystemManager();
swan.downloadFile({
    url: 'https://smartprogram.baidu.com/docs/img/logo.png',
    success: res => {
        // 此為 “本地臨時文件” 路徑。
        resolve(res.tempFilePath);
        // 將 “本地臨時文件” 持久化成 “本地用戶文件”。
        fileSystemManager.saveFileSync(res.tempFilePath, `${swan.env.USER_DATA_PATH}/my.png`);
    }
});

本地用戶文件

  • “本地用戶文件” 是從 3.130.1 版本開始新增的概念,持久性的文件,通過調(diào)用特定的接口操作產(chǎn)生,不會自動被刪除,除非用戶主動刪除小程序。
  • 生命周期:
    • 通過調(diào)用特定的接口產(chǎn)生或者清除。
    • 小程序被刪除時,會被清除。
  • 讀寫權(quán)限:可讀可寫,可創(chuàng)建文件,可建立目錄。
  • 訪問路徑:必須以內(nèi)置變量 swan.env.USER_DATA_PATH 開頭,如:${swan.env.USER_DATA_PATH}/some/xxx.xxx。不支持相對路徑(即不支持 "./" 或 "../")。
  • 存儲空間限制:與 “本地緩存文件” 共計,一個用戶的一個 appId,最多可存儲 10MB 的 “本地用戶文件”。

例如:

const fs = swan.getFileSystemManager();
fs.writeFileSync(`${swan.env.USER_DATA_PATH}/some.txt`, 'hello', 'utf8');
fs.mkdirSync(`${swan.env.USER_DATA_PATH}/my`);

本地緩存文件

  • “本地緩存文件” 小程序通過接口把本地臨時文件緩存后產(chǎn)生的文件,不能自定義目錄和文件名。
  • 生命周期:
    • 通過調(diào)用特定的接口產(chǎn)生。
    • 小程序被重啟后仍可用。
    • 小程序被刪除時,會被清除。
  • 讀寫權(quán)限:只可讀,不可寫入,也不可在 “本地緩存文件” 所在目錄中創(chuàng)建其他文件。
  • 訪問路徑:由 API 自動生成。
  • 存儲空間限制:與 “本地用戶文件” 共計,一個用戶的一個 appId,最多可存儲 10MB 的 “本地緩存文件”。
  • 注意:本地緩存文件是最初的設(shè)計,3.130.1 版本開始,提供了功能更完整的本地用戶文件,可以完全覆蓋本地緩存文件的功能,如果不需要兼容低于 3.130.1 版本,可以不使用本地緩存文件。

例如:

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


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號