vue中el-upload上傳圖片到七牛的示例代碼
一、思路,從后臺(tái)獲取七牛token,上傳圖片到七牛,獲取返回圖片路徑放入el-upload。
二、代碼。
<el-input v-model="listVideoQuery.orgLogo" @change="orgLogoChange"></el-input>
<el-col :span="10" class="mt10">
<el-upload class="upload-demo" :file-list="fileList2" :action="domain" :before-upload="beforeAvatarUpload" :data="form"
:on-remove="handleRemoveQrgLogo" :on-success="handleAvatarSuccess" list-type="picture" :limit="1" multiple>
<el-button size="small" type="primary" @click="upPicName='orgLogo'">點(diǎn)擊上傳</el-button>
<div slot="tip" class="el-upload__tip">只能上傳jpg/png文件,且不超過(guò)500kb</div>
</el-upload>
</el-col>
export default {
name: 'edit',
data() {
return {
upPicName:'', //上傳圖片名字
fileList1:[],
form: {}, //上傳到七牛的token
bucketQuery:{
bucket: 'website-image' //這是我用來(lái)獲取token傳給后臺(tái)的字段
},
domain: 'http://upload.qiniu.com', // 七牛云的上傳地址
qiniuaddr: 'pd6rnk9ck.bkt.clouddn.com' // 這是七牛云空間的外鏈默認(rèn)域名
}
},
methods: {
// 上傳圖片規(guī)格
beforeAvatarUpload (file) {
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png'
const isLt2M = file.size / 1024 / 1024 < 5
if (!isJPG) {
return this.$message.error('上傳文件只能是 JPG或PNG 格式!')
}
if (!isLt2M) {
return this.$message.error('上傳圖片大小不能超過(guò) 5MB!')
}
return upQiniu(this.bucketQuery).then(res => {
this.form = {
token:res.data
}
})
},
//圖片改變及上傳
bannerPicChange(value) {
this.fileList1 = []
this.fileList1.push({
name: value,
url: value
})
},
handleBannerPicRemove(file, fileList) {
this.fileList1 = []
this.listVideoQuery.orgLogo= ''
},
handleAvatarSuccess(response) {
if(this.upPicName =='orgLogo'){
this.fileList1 = []
this.fileList1.push({
name: 'http://' + this.qiniuaddr + '/' + response.key,
url: 'http://' + this.qiniuaddr + '/' + response.key
})
this.listVideoQuery.orgLogo= 'http://' + this.qiniuaddr + '/' + response.key
}
this.$message({
type: 'success',
message: '上傳成功!',
duration: 2000
})
},
}
}
三、效果。

總結(jié)
以上所述是小編給大家介紹的vue中el-upload上傳圖片到七牛的示例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- vue使用el-upload上傳文件及Feign服務(wù)間傳遞文件的方法
- vue+elementUI(el-upload)圖片壓縮,默認(rèn)同比例壓縮操作
- vue結(jié)合el-upload實(shí)現(xiàn)騰訊云視頻上傳功能
- vue-cli3.0+element-ui上傳組件el-upload的使用
- 解決vue2.0 element-ui中el-upload的before-upload方法返回false時(shí)submit()不生效問(wèn)題
- Vue開(kāi)發(fā)之封裝上傳文件組件與用法示例
- vue使用axios上傳文件(FormData)的方法
- axios+Vue實(shí)現(xiàn)上傳文件顯示進(jìn)度功能
- Vue axios 中提交表單數(shù)據(jù)(含上傳文件)
- vue el-upload上傳文件的示例代碼
相關(guān)文章
基于axios請(qǐng)求封裝的vue應(yīng)用實(shí)例代碼
這篇文章主要給大家介紹了基于axios請(qǐng)求封裝的vue應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
使用vue根據(jù)狀態(tài)添加列表數(shù)據(jù)和刪除列表數(shù)據(jù)的實(shí)例
今天小編就為大家分享一篇使用vue根據(jù)狀態(tài)添加列表數(shù)據(jù)和刪除列表數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
純JS如何實(shí)現(xiàn)vue.js下的雙向綁定功能
對(duì)于vue下的雙向綁定功能,個(gè)人理解為在處理邏輯的過(guò)程中緩存了大量的node對(duì)象,node對(duì)象可以是html標(biāo)簽、文本內(nèi)容。既然選擇了緩存這些對(duì)象,那么在用的過(guò)程中哪里需要改變就把node拿出來(lái),進(jìn)行標(biāo)簽屬性的變更或者文本內(nèi)容的修改。本文主要講了如何實(shí)現(xiàn)雙向綁定2021-06-06
Vue+axios使用FormData方式向后端發(fā)送數(shù)據(jù)
在前后端分離的項(xiàng)目中經(jīng)常使用到Vue+axios通過(guò)FormData的方式向后端發(fā)送表單數(shù)據(jù),下面就來(lái)介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2023-09-09
Vue項(xiàng)目打包成Docker鏡像包的簡(jiǎn)單步驟
最近做時(shí)速云項(xiàng)目部署,需要將前端項(xiàng)目打成鏡像文件,下面這篇文章主要給大家介紹了關(guān)于Vue項(xiàng)目打包成Docker鏡像包的簡(jiǎn)單步驟,需要的朋友可以參考下2023-10-10

