支付寶小程序Serverless 阿里云能力API·Serverless 文件管理

2020-09-18 14:37 更新

步驟一:設(shè)置文件權(quán)限

小程序 Serverless 提供了一套簡(jiǎn)明易懂的 JSON 語(yǔ)法用來(lái)控制用戶對(duì)資源的訪問(wèn),類似于身份驗(yàn)證體系里的 IAM 或者網(wǎng)絡(luò)安全中的 ACL。您可以通過(guò)修改權(quán)限規(guī)則來(lái)管理文件權(quán)限。

小程序 Serverless 會(huì)為每個(gè)新建的文件自動(dòng)提供一個(gè)默認(rèn)權(quán)限規(guī)則。默認(rèn)規(guī)則規(guī)定所有文件都只有資源所有者可以進(jìn)行寫(xiě)操作,所有人可讀。您可以在控制臺(tái)上修改文件權(quán)限。

  1. 打開(kāi)小程序云控制臺(tái),在云存儲(chǔ)頁(yè)面,單擊權(quán)限圖標(biāo)。

  1. 修改權(quán)限規(guī)則,然后單擊保存。

云存儲(chǔ)權(quán)限.jpg

上面的權(quán)限規(guī)則由多個(gè)子規(guī)則組成,每個(gè)子規(guī)則包含以下信息:

  • 范圍:用于定義規(guī)則生效范圍。在數(shù)據(jù)存儲(chǔ)的安全規(guī)則中,每一個(gè)規(guī)則的范圍是一個(gè)文件(路徑)。您可以通過(guò)文件路徑指定一個(gè)特定的文件, 也可以通過(guò) JavaScript 的正則表達(dá)式指代一批文件或使用星號(hào)(*)指代所有文件。
  • 操作:用于定義生效范圍內(nèi)的特定操作。所有人都具有文件的讀權(quán)限。.write 代表寫(xiě)操作,* 代表所有操作。
  • 策略:用于確定生效范圍內(nèi)的特定操作是否允許。默認(rèn)沒(méi)有標(biāo)記為允許的操作,都是不允許的。策略是操作是否被允許的標(biāo)記,可以是一個(gè)布爾值,或者是一個(gè)表達(dá)式。當(dāng)策略沖突時(shí),以最先出現(xiàn)的規(guī)則策略為準(zhǔn)。如默認(rèn)的權(quán)限規(guī)則策略表達(dá)式 request.auth.userId == resource.auth.userId 代表所有文件都只有資源所有者可以進(jìn)行寫(xiě)操作,所有人可讀。

步驟二:云存儲(chǔ)操作

控制臺(tái)操作

  1. 打開(kāi)小程序云控制臺(tái),在云存儲(chǔ)頁(yè)面,單擊上傳文件。

  1. 單擊直接上傳或?qū)⑽募献е辽蟼鲄^(qū)域。

文件上傳過(guò)程中,請(qǐng)勿刷新或關(guān)閉頁(yè)面,否則上傳任務(wù)會(huì)被中斷且列表會(huì)被清空。

存儲(chǔ)操作.jpg

  1. 上傳成功后,您可以單擊詳情查看圖片下載地址。

小程序端調(diào)用

  1. 在小程序項(xiàng)目的根目錄執(zhí)行以下命令安裝 SDK。
    npm install @alicloud/mpserverless-sdk --save
  2. 文件上傳或刪除。
    // 選擇文件上傳
    my.chooseImage({
    chooseImage: 1,
    success: res => {
    const path = res.apFilePaths[0];
    const options = {
      filePath: path,
      headers: {
        contentDisposition: 'attachment',
      },
    };
    my.serverless.file.uploadFile(options).then(console.log).catch(console.error);
    },
    });   
    // 刪除之前上傳的文件
    my.serverless.file.deleteFile('https://resource.bspapp.com/xxx-xx/4b82ded0-0118-4de4-9f50-ab13110a1ffb.jpg')                     .then(res => {
    console.log(res);
    }).catch(err => {
    console.error(err);
    });

    開(kāi)發(fā)者技術(shù)支持群

加入支付寶小程序 Serverless 開(kāi)發(fā)者群參與討論,釘釘搜索群號(hào):21922182,或使用釘釘掃描二維碼加入。

?image

?

支付寶掃描以下二維碼登陸官方小程序【小程序云開(kāi)發(fā)助手】,獲取更多云開(kāi)發(fā)教程以及在線體驗(yàn)云開(kāi)發(fā)。

推廣碼.jpg

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)