js 匯出pdf上傳至oss 阿里雲oss 踩坑坑

2021-10-14 02:45:38 字數 1391 閱讀 1076

專案需要,開發乙個投稿採納系統(名字不能土)。

考慮到檔案上傳及其消耗頻寬(主要挺貴),於是找到了背鍋俠~阿里雲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...