當前位置:首頁 » 文件傳輸 » 阿里雲oss是前端上傳還是後端上傳
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

阿里雲oss是前端上傳還是後端上傳

發布時間: 2022-12-26 20:55:08

① 阿里雲oss 前端+後台方式-前端部分el-upload

axios封裝介面為非同步請求,使用el-upload默認上傳,在before-upload里請求需要使用同步,保證先獲取token再上傳。

1.過期時間設置久一點,默認 30s 。
2.本地連接測試去掉 callback ,不然就會報錯 private adress ... 。
3. key 格式為 dir 值加filename即 xxx/a.png ,格式不對會被處理成上傳內容為空,存不進去,返回碼正確。
4.設置 succes_action_status 為200,默認返回204。
5.保證 file 在提交內容中是最後一個。

② Web直傳阿里雲OSS服務端臨簽名總結 2021-01-28

最近公司有新的需求,需要將文件上傳到阿里雲OSS,目前項目中的文件主要是存儲到自己的伺服器,這樣很容易受伺服器帶寬、硬體的影響,加上伺服器配置不高,應用服務很容易垮掉。之前也用過OSS,但是上傳文件都是比較小的10MB以內的文件,採用的是生成數據流的方式。這種情況已經無法滿足現在的應用場景,就又熟悉了一下SDK文檔,主要的實現方式有:

1、 上傳慢。先上傳到應用伺服器,再上傳到OSS,網路傳送多了一倍。如果數據直傳到OSS,不走應用伺服器,速度將大大提升,而且OSS是採用BGP帶寬,能保證各地各運營商的速度。

2、 擴展性不好。如果後續用戶多了,應用伺服器會成為瓶頸。

3、 費用高。由於OSS上傳流量是免費的。如果數據直傳到OSS,不走應用伺服器,那麼將能省下幾台應用伺服器。

https://help.aliyun.com/document_detail/32122.html

採用JavaScript客戶端直接簽名(參見 JavaScript客戶端簽名直傳 )時,AccessKey ID和AcessKey Secret會暴露在前端頁面,因此存在嚴重的安全隱患。因此,OSS提供了服務端簽名後直傳的方案。

流程如下圖所示:

本示例中,Web端向服務端請求簽名,然後直接上傳,不會對服務端產生壓力,而且安全可靠。但本示例中的服務端無法實時了解用戶上傳了多少文件,上傳了什麼文件。如果想實時了解用戶上傳了什麼文件,可以採用 服務端簽名直傳並設置上傳回調 。

OSS 可以通過阿里雲 STS (Security Token Service) 進行臨時授權訪問。阿里雲 STS 是為雲計算用戶提供臨時訪問令牌的Web服務。通過 STS,您可以為第三方應用或子用戶(即用戶身份由您自己管理的用戶)頒發一個自定義時效和許可權的訪問憑證。

STS 安全令牌、角色管理和使用相關內容詳情,請參考 RAM 角色管理 。調用 STS 服務介面 AssumeRole 來獲取有效訪問憑證即可。

前端調用,請根據自身情況進行調用,下面是vue的示例

我們在項目中最終採用的是STS臨時授權方案。

STS的優勢如下:

關於STS的介紹請查閱阿里雲官方文檔:

https://help.aliyun.com/document_detail/32093.html?spm=a2c4g.11186623.6.1409.13107d9ckOKzS6

在這邊不得不吐槽一下OSS的API,是真的很爛,基本找不到好的方法,都是基於網路才做出來的,當然,我使用的方法估計還有一些坑,只是能實現了我的功能。

STS臨時授權訪問OSS

https://help.aliyun.com/document_detail/100624.html?spm=a2c4g.11186623.2.5.600c6d13A0lSIR

vue直傳OSS

https://blog.csdn.net/qq_33270001/article/details/88999189

el-upload組件結合上傳阿里雲OSS實現更優交互

https://blog.csdn.net/fifteen718/article/details/85259438

Web直傳OSS

https://blog.csdn.net/weixin_33907511/article/details/91479830

OSS文件上傳(頁面直傳)

https://blog.csdn.net/linlin_0904/article/details/84583676

請問STS和簽名帶Policy的差別

https://developer.aliyun.com/ask/205943?spm=a2c6h.13524658

STS臨時授權訪問OSS

https://www.cnblogs.com/ggband/p/10218851.html

vue+element+sts臨時授權上傳大文件到阿里雲OSS時踩過的坑。

https://blog.csdn.net/aiguo94/article/details/111832776

Vue上傳阿里雲OSS(STS方式)

https://blog.csdn.net/qq_35775675/article/details/92797782