成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

oss web直傳 服務(wù)器簽名 - vue版本

Sunxb / 816人閱讀

摘要:前言為了減輕服務(wù)器壓力,采用直傳的方式,直接把資源圖片,文件,視頻等上傳到阿里云服務(wù)器。這個(gè)是需要觸發(fā)這個(gè)回調(diào)來(lái)通知服務(wù)器操作結(jié)果。服務(wù)器端同事調(diào)的,通過(guò)接口返回給前端的。這個(gè)就是簽名,最關(guān)鍵的。的的使用如下結(jié)束這樣就搞定了。

前言:
為了減輕服務(wù)器壓力,采用web直傳的方式,直接把資源(圖片,文件,視頻等)上傳到阿里云oss服務(wù)器。但是阿里只提供 plupload.js 環(huán)境下的 demo,看著腦殼生疼。頓時(shí)覺(jué)得xx云無(wú)恥至極,極度不友好。原本這個(gè)事情沒(méi)必要浪費(fèi)時(shí)間寫(xiě)一篇博客來(lái)記錄,這下好了,坑夠大,為減少?gòu)V大前端朋友少踩坑,請(qǐng)往下看。
開(kāi)始:

我當(dāng)時(shí)用vue做的demo,其實(shí)是互通的。angular,react自己思考。廢話不多說(shuō),直接上代碼

// vue 采用的是 axios 環(huán)境發(fā)起的 post 請(qǐng)求,其實(shí)就一個(gè)函數(shù)搞定,如下。
methods: {
    upload(e){
        // 先準(zhǔn)備好 oss 服務(wù)器需要的內(nèi)容
        const photo = window.URL.createObjectURL(e.target.files[0])  // 獲取圖片對(duì)象
        const photoName = photo.name  // 原圖片的名稱(chēng)
        const key = "photoNameOss"  // 存儲(chǔ)到oss的圖片名稱(chēng) 自己定,必須確保唯一性,不然會(huì)覆蓋oss中原有的文件
        const policy = "policy"  // 服務(wù)器端同事調(diào)oss的API,通過(guò)接口返回給前端的 policy
        const policy = "OSSAccessKeyId"  // 服務(wù)器端同事調(diào)oss的API,通過(guò)接口返回給前端的 OSSAccessKeyId
        const policy = "callback"  // 服務(wù)器端同事調(diào)oss的API,通過(guò)接口返回給前端的 callback。這個(gè)是需要 oss 觸發(fā)這個(gè)回調(diào)來(lái)通知服務(wù)器操作結(jié)果。
        const policy = "signature"  // 服務(wù)器端同事調(diào)oss的API,通過(guò)接口返回給前端的 signature。這個(gè)就是簽名,最關(guān)鍵的。
        const url = `http://${自己的域名}.oss-cn-beijing.aliyuncs.com`
        
        // biu一下,提交給oss
        let param = new FormData(); 
        param.append("name", `${photoName}`)
        param.append("key", `${key}`)
        param.append("policy", `${policy}`)
        param.append("OSSAccessKeyId", `${OSSAccessKeyId}`)
        param.append("success_action_status", 200)  // 不要問(wèn)為什么,照做
        param.append("callback", `${callback}`)
        param.append("signature", `${signature}`) 
        param.append("file", photo, photoName); // 這個(gè)**切記**一定要放到最后去 append ,不然阿里云會(huì)一直報(bào) key 的錯(cuò)誤
        axios.post(url, param)
            .then(response => {
                console.log("response == ", response)
            })
            .catch((err) => {
                console.log("err == ", err)
            })
    }
}

一定要記住那個(gè) 切記 ,一定要把文件對(duì)象 append 到最后,一定不要忘記,這個(gè)地方我卡了2小時(shí)。

vue 的 template 的使用如下

結(jié)束:

這樣就搞定了。 是不是一點(diǎn)都不難? 總比被人強(qiáng)迫使用 plupload.js 強(qiáng)吧! 這輩子我都不會(huì)讓 plupload.js 進(jìn)入我的插件庫(kù),我不喜歡被強(qiáng)迫。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104687.html

相關(guān)文章

  • 圖片直傳阿里云OSS方案

    摘要:和數(shù)據(jù)直傳到相比,以上方法有三個(gè)缺點(diǎn)上傳慢。端向服務(wù)端請(qǐng)求簽名,然后直接上傳,不會(huì)對(duì)服務(wù)端產(chǎn)生壓力,而且安全可靠。規(guī)定返回?cái)?shù)據(jù)的格式,當(dāng)前默認(rèn)返回圖片信息寬度高度,可獲取更多數(shù)據(jù)。 背景 每個(gè)OSS的用戶都會(huì)用到上傳服務(wù)。Web端常見(jiàn)的上傳方法是用戶在瀏覽器或app端上傳文件到應(yīng)用服務(wù)器,然后應(yīng)用服務(wù)器再把文件上傳到OSS。 showImg(https://segmentfault.c...

    imtianx 評(píng)論0 收藏0
  • Web端文件上傳至阿里云OSS(基于Angular 5項(xiàng)目)

    摘要:一準(zhǔn)備工作開(kāi)通阿里云服務(wù),從控制臺(tái)上獲取和。參考資料阿里云官方文檔開(kāi)始使用阿里云官方文檔介紹如何在中快速使用訪問(wèn)服務(wù)微信公眾號(hào)圖片上傳至阿里云前端圖片直傳試驗(yàn)如何基于和,快速搭建音視頻文件上傳服務(wù)聲明轉(zhuǎn)發(fā)請(qǐng)注明出處,謝謝 一、準(zhǔn)備工作 1. 開(kāi)通阿里云OSS服務(wù),從控制臺(tái)上獲取AccessKeyId和AccessKeySecret。 2. 創(chuàng)建Bucket,并登錄OSS控制臺(tái) 3. 配...

    darkerXi 評(píng)論0 收藏0
  • 阿里云 oss 圖片上傳解決方案 vueweb直傳

    摘要:我們通過(guò)這個(gè)去解決該文章主要介紹如何獲取和這兩個(gè)參數(shù)首先下載直傳的案例解壓后打開(kāi)里面的完成后就可以用瀏覽器打開(kāi)按下點(diǎn)到選項(xiàng),效果如圖我們隨便選擇一個(gè)圖片上傳然后配合來(lái)解決圖片上傳 我們通過(guò)aliyun-oss-web這個(gè)npm去解決 該文章主要介紹如何獲取 imgSignature 和 imgPolicy 這兩個(gè)參數(shù) 首先下載 web直傳的案例 : http://files.cnblo...

    kyanag 評(píng)論0 收藏0
  • OSS Web直傳 (文件圖片)

    摘要:但是,這里還是為大家提供加密的鏈接有問(wèn)題大家一起討論,歡迎評(píng)論,點(diǎn)贊,收藏。 廢話不多說(shuō)直接上代碼:(看到的一篇php上傳博客,進(jìn)行的修改完善) .filePicker { margin: 50px; width: 200px; height: 50px; ...

    curlyCheng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<