vue 上傳阿里OSS

近期相中上傳圖片利用后端傳遞到阿里云服務(wù)器會(huì)慢一點(diǎn),讓后想著前端直接上傳阿里云來(lái)提高帶寬。記錄一下

首先下載

npm install ali-oss //下載插件ali-oss

我利用的element-ui

<el-upload
      class="avatar-uploader"
      action="##"
      :show-file-list="false"
      :on-success="handleAvatarSuccess"
      :http-request="uploadImageOss"
      :before-upload="beforeAvatarUpload">
      <img v-if="imageUrl" :src="imageUrl" class="avatar">
      <i v-else class="el-icon-plus avatar-uploader-icon"></i>
 </el-upload>
<script>
import OSS from 'ali-oss'
import axios from 'axios'
import moment from 'moment'
uploadImageOss(file){
  this.getFile(file)
}
async getFile({file}){
    //首先調(diào)用后端接口獲取oss配置
    let stsData = await axios.post('接口地址').then(res=>res.data.data) 
    var parseMast = {
        bucket:stsData.Credentials.bucket , // 這個(gè)可以找開(kāi)通OSS的管理員拿,或者接口返回獲取
        region: stsData.Credentials.endpoint, // 同上
        accessKeyId: stsData.Credentials.AccessKeyId, // 從接口返回的數(shù)據(jù)獲取
        accessKeySecret: stsData.Credentials.AccessKeySecret, // 同上
        stsToken: stsData.Credentials.SecurityToken,//從接口返回的數(shù)據(jù)獲取
        secure: true
    }
  let client = new OSS(parseMast); // 調(diào)用OSS依賴
  let name = file.name
  let date = new Date
  let dateFormat = moment(date).format('YYYYMMDD')
  client.multipartUpload('CJ/'+dateFormat+'/'+name, file, )
.then(res=>{
      console.log(res.res.requestUrls[0]);//上傳成功
    //so 這里有個(gè)小問(wèn)題  如果上傳的是利用微信截圖的png圖片  返回的鏈接會(huì)自動(dòng)帶一個(gè)
      ?uploadId=‘’  返回的鏈接不能打開(kāi)只能吧 ? 之后的全部刪除
      我的處理方式是 利用后端接口返回的bucket + endpoint  進(jìn)行了圖片的拼接
      'http://' +stsData.Credentials.bucket + '.' +  stsData.Credentials.endpoint + '.aliyuncs.com/' + 'CJ/'+dateFormat+'/'+name
  })
.catch(err=>{
      console.log(err);//上傳失敗之后
  })
}
</script>

有沒(méi)有哪位大佬跟我說(shuō)一下為什么會(huì)返回一個(gè)uploadId 怎么解決 謝謝!!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容