專案需要,開發乙個投稿採納系統(名字不能土)。
考慮到檔案上傳及其消耗頻寬(主要挺貴),於是找到了背鍋俠~阿里雲oss
本人前端工程師一枚,擅長js(哈哈哈哈)
所以,本專案打算用 koa + react 啦啦啦。
阿里雲開發文件上,發現有用於瀏覽器的 sdk,即能在瀏覽器端直接將檔案傳到 阿里雲oss 上,能有效將頻寬壓力甩鍋給別人家的oss哈哈哈~
開始:首先當然是屁顛屁顛去建立乙個 bucket
然後看看文件,需要 使用 sts 進行臨時授權
sts臨時授權材料
accesskeyid / accesskeysecret
rolearn
tokenexpiretime
於是又屁顛屁顛去建立乙個 ram 使用者(聽說能保護賬號本身的 accesskeyid / accesskeysecret) 切易於管理。
然後一腳踩在了 rolearn 這個坑坑,原來這貨需要建立乙個 ram角色,從角色資訊中獲取,然後給這個角色授權 。
建立完之後我興沖沖的去試了試我的介面,發現許可權不足!不對呀,我這不給 ram角色加了許可權了嗎?
一陣凌亂過後,萌的發現 派發 accesskeyid / accesskeysecret 的 ram 使用者也要授權....
果然做前端的小夥伴到服務端領域破壁秒變新萌。
// 等等等等 == **駕到
const = require('ali-oss');
const path = require('path');
const conf = global.config.aliyun; // 配置資訊
class aliyunoss
*/static async getsts()
const client = new sts();
const result = await client.assumerole(
conf.rolearn,
policy,
conf.tokenexpiretime,
);return result;
}}module.exports = aliyunoss;
前端關鍵**
const client = new oss();
client.multipartupload(file.name, file, ,
mime: file.type,
}).then((res) => )
.catch((err) => );
第一次去操作阿里雲的oss的時候,因為不熟悉,感覺雲裡霧裡的。當把我讀文件,寫demo的經歷總結出來之後,感覺其實這個功能其實很簡單。
阿里雲OSS上傳
這種方式相當於自動上傳,可以參考antd官網的給的例子 首先,後端會提供乙個介面,會返回一些上傳到oss需要的類似配置引數 下面的是我們後端同學給返回的引數 1 accessid,對應ossaccesskeyd 2 policy 3 signature 4 host,oss的上傳位址 下面是請求上傳...
java實現將本地檔案上傳至阿里oss雲
static mapcontenttypemap 以下幾個引數值必填,參考文章最後文件 static string endpoint static string accesskeyid static string accesskeysecert static string bucketname 根據...
阿里雲oss 檔案上傳
寫在前面 阿里雲oss的各種sdk,都是對它的api進行的封裝。所以如果我們直接呼叫api時出錯,卻又不知道 出問題時,可以直接閱讀sdk的原始碼,找到問題所在。首先貼一下阿里雲oss官網貼出的簽名計算方式 authorization oss accesskeyid signature signat...