使用上傳組件上傳文件到 OSS
使用上傳組件,上傳文件到自己的 OSS 中,配置鏈路
準備資料
OSS 關閉阻止公共訪問 OSS控制臺
OSS 跨域配置
來源配置:https://mobinext.console.aliyun.com
https://runtime.mobiapp.cloud
允許 Headers:*
暴露 Headers:ETag
RAM 角色 角色控制
配置角色
ARN 信息
角色需要授權的 OSS 權限
AliyunOSSFullAccess
RAM 子賬號
子賬號需要授權
AliyunOSSFullAccess
創(chuàng)建或者使用已有的子賬號的 AK SK
集成配置
1. 創(chuàng)建 使用阿里云 OSS 集成
2. 使用文件上傳組件
上傳組件
動作:選擇上傳至阿里云 OSS
OSS 憑證操作:選擇創(chuàng)建的 oss_link 集成
配置最大可上傳的文件大小
操作類型:獲取選擇表單上傳配置(最大只是 5G)
目錄:配置提交到 OSS 的文件目錄,注意:這里不能以 / 開頭,上圖配置的目錄為:
{{mobi.appInfo.appId}}/{{mobi.currentUser.name}}
表達的概念是,上傳到當前應用目錄下的某個用戶的目錄下訪問權限:繼承 Bucket,注意:這里的選擇是默認的,可以根據(jù)您需求進行配置
選擇 oss_link 回調
配置上傳成功后的事件
配置文件上傳之后的訪問地址給指定的變量,
{{up_file.action}}/{{up_file.extraData.key}}
這里采用拼串的方式組合出文件的下載地址
配置過程中遇到的問題總結
文件上傳后訪問提示 AccessDenied
解決方案
需要在 OSS 中關閉阻止公共訪問
獲取上傳策略失敗
解決方案
檢查 OSS 的跨域配置,需要包含的鏈接,自己的域名地址,魔筆的測試鏈接( https://runtime.mobiapp.cloud ),魔筆的設計時地址( https://mobinext.console.aliyun.com )
上傳錯誤
解決方案
檢查 Bucket 是否配置正確
分片上傳失敗
1. 解決方案
暴露 Headers 是否配置
ETag
2. 解決方案
檢查集成是否有配置 ARN 對應字段搜索本文檔:ARN 信息
上傳失敗 InvalidObjectName 400
解決方案
目錄配置不能存在前綴
/
正確示例: