微信小程序云開發(fā)存儲

2022-05-12 15:59 更新

云存儲提供高可用、高穩(wěn)定、強安全的云端存儲服務(wù),支持任意數(shù)量和形式的非結(jié)構(gòu)化數(shù)據(jù)存儲,如視頻和圖片,并在控制臺進行可視化管理。云存儲包含以下功能:

  • 存儲管理:支持文件夾,方便文件歸類。支持文件的上傳、刪除、移動、下載、搜索等,并可以查看文件的詳情信息
  • 權(quán)限設(shè)置:可以靈活設(shè)置哪些用戶是否可以讀寫該文件夾中的文件,以保證業(yè)務(wù)的數(shù)據(jù)安全
  • 上傳管理:在這里可以查看文件上傳歷史、進度及狀態(tài)
  • 文件搜索:支持文件前綴名稱及子目錄文件的搜索
  • 組件支持:支持在 image、audio 等組件中傳入云文件 ID

接下來,我們看看云文件管理提供了哪些 API、及如何在控制臺中管理云文件:

  • 存儲 API
  • 控制臺中管理文件

API 指引

上傳文件

在小程序端可調(diào)用 wx.cloud.uploadFile 方法進行上傳:

wx.cloud.uploadFile({
  cloudPath: 'example.png', // 上傳至云端的路徑
  filePath: '', // 小程序臨時文件路徑
  success: res => {
    // 返回文件 ID
    console.log(res.fileID)
  },
  fail: console.error
})

上傳成功后會獲得文件唯一標識符,即文件 ID,后續(xù)操作都基于文件 ID 而不是 URL。

下載文件

可以根據(jù)文件 ID 下載文件,用戶僅可下載其有訪問權(quán)限的文件:

wx.cloud.downloadFile({
  fileID: '', // 文件 ID
  success: res => {
    // 返回臨時文件路徑
    console.log(res.tempFilePath)
  },
  fail: console.error
})

刪除文件

可以通過 wx.cloud.deleteFile 刪除文件:

wx.cloud.deleteFile({
  fileList: ['a7xzcb'],
  success: res => {
    // handle success
    console.log(res.fileList)
  },
  fail: console.error
})

更詳細的 API 可參考小程序端及后端存儲 API 文件。

組件支持

支持在 image、audio 等組件中傳入云文件 ID,具體支持列表見文檔

換取臨時鏈接

可以根據(jù)文件 ID 換取臨時文件網(wǎng)絡(luò)鏈接,文件鏈接有有效期為兩個小時:

wx.cloud.getTempFileURL({
  fileList: ['cloud://xxx.png'],
  success: res => {
    // fileList 是一個有如下結(jié)構(gòu)的對象數(shù)組
    // [{
    //    fileID: 'cloud://xxx.png', // 文件 ID
    //    tempFileURL: '', // 臨時文件網(wǎng)絡(luò)鏈接
    //    maxAge: 120 * 60 * 1000, // 有效期
    // }]
    console.log(res.fileList)
  },
  fail: console.error
})

API 文檔

可以在此參考詳細的小程序端存儲 API 文檔和服務(wù)端 API 文檔


管理文件

在控制臺中,選擇存儲管理標簽頁,可以在此看到云存儲空間中所有的文件,還可以查看文件的詳細信息、控制存儲空間的讀寫權(quán)限。



文件名命名限制

  • 不能為空
  • 不能以/開頭
  • 不能出現(xiàn)連續(xù)/
  • 編碼長度最大為850個字節(jié)
  • 推薦使用大小寫英文字母、數(shù)字,即[a-z,A-Z,0-9]和符號 -,!,_,.,* 及其組合
  • 不支持 ASCII 控制字符中的字符上(↑),字符下(↓),字符右(→),字符左(←),分別對應(yīng) CAN(24),EM(25),SUB(26),ESC(27)
  • 如果用戶上傳的文件或文件夾的名字帶有中文,在訪問和請求這個文件或文件夾時,中文部分將按照 URL Encode 規(guī)則轉(zhuǎn)化為百分號編碼。
  • 不建議使用的特殊字符: ` ^ " \ { } [ ] ~ % # \ > < 及 ASCII 128-255 十進制
  • 可能需特殊處理后再使用的特殊字符: , : ; = & $ @ + ?(空格)及ASCII 字符范圍:00-1F 十六進制(0-31 十進制)以及7F(127 十進制)

組件支持

小程序組件支持傳入云文件 ID,支持列表如下:

組件 屬性
image src
video src、poster
cover-image src
接口 參數(shù)
getBackgroundAudioManager src
createInnerAudioContext src
previewImage urls、current


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號