vue iview oss簽名直傳

2021-10-02 02:31:31 字數 1228 閱讀 3945

現在專案的utils檔案下建立ossupload.js,內容如下

import axios from '@/axios'

import from "@/api/index.js";

const basic = require("@/config/index.js");

// 檔案上傳url

let uploadurl = publicapi.ossupload

let accessid = ''

let policybase64 = ''

let signature = ''

let callbackbody = ''

let key = ''

let expire = 0

let host = ''

let g_object_name = ''

let now = date.parse(new date()) / 1000;

// 生成隨機字串

function random_string(len)

return pwd;

}// 獲取使用者上傳源檔名

function get_file_name(filename)

return suffix;

}// 把隨機生成的字串拼接在原始上傳檔名後面生成新的唯一檔名

function set_file_name(filename)

// 獲取後端返回的簽名資訊,生成oss引數

function oss(filename = null)

*/policybase64 = res['policy']

accessid = res['accessid']

signature = res['signature']

expire = parseint(res['expire'])

callbackbody = res['callback']

host = res['host']

key = res['dir']

if (filename != null)

// 返回表單上傳需要的引數資訊

return ;

})}}

export

然後在需要上傳的地方使用

upload files

ALI OSS web簽名直傳檔案解讀

要清楚的兩個邏輯點 1 客戶端要上傳時,到應用伺服器取上傳的policy及簽名。2 客戶端拿到簽名直接上傳到oss。3 在控制台中加入兩個配置 跨域設定,網域名稱配置碼前說明 bucket name 你在伺服器中建立的儲存空間名,在它裡面就可以進行儲存了,還可以建立資料夾 url字尾endpoint...

服務端簽名後直傳OSS

上傳oss流程 客戶端 向 伺服器請求簽名 伺服器 伺服器返回簽名 客戶端 將獲取到的簽名放入url中傳送至oss驗證 oss伺服器 一.表單直傳oss優點 流程上 少了一步 架構上 走 伺服器,上傳量過大的時候,瓶頸在 伺服器,採用表單上傳後 上傳都是直接從客戶端傳送到oss,上傳量過大時,壓力在...

vue 前端oss直傳

在vue框架中使用oss直傳,前端直接調oss介面,服務端直接將所有檔案存在同乙個目錄下 提高效率 之所以網頁上看到有資料夾的區分,是因為根據前端命名方式 一般是自定義資料夾名字加檔案名字加時間搓 來製造有資料夾區分的效果,這個命名可以理解成是這個檔案的唯一標識。傳給後端的時候直接把這個命名傳入即可...