constOSS=require('ali-oss')

exportfunctionclient(data){
//后端提供数据
returnnewOSS({
region:data.endpoint,//*****.aliyuncs.com
accessKeyId:data.accessKeyId,
accessKeySecret:data.accessKeySecret,
bucket:data.bucketName,
endpoint:data.endpoint,
secure:true
})
}

然后,在vue页面引用,给client传入后台返回的阿里数据

结果如下图:

1、HTML部分







图片上传限制:1.最多5张;2.最大1M

2、JS部分

import{getAliyun,createOrder}from'@/api/order-management'
import{client}from'@/utils/alioss'
exportdefault{
name:'Appeal',
data(){
return{
http://www.haoziyuan.ccdialogImageUrl:'',
dialogVisible:false,
Aliyun:{},//存签名信息
progress:0,//进度条
imgUrl:[]//存上传后的图片url
}
},
created(){
this.getAliyun()
},
methods:{
//获取阿里云数据
asyncgetAliyun(){
const{data}=awaitgetAliyun()
this.Aliyun=data
},
//上传图片
Upload(file){
constthat=this
//判断扩展名
consttmpcnt=file.file.name.lastIndexOf('.')
constexname=file.file.name.substring(tmpcnt+1)
constnames=['jpg','jpeg','png']
if(names.indexOf(exname)<0){
this.$message.error('不支持的格式!')
return
}
if(file.size>1024*1024){
this.$message.error('图片大小最大1M')
return
}
asyncfunctionmultipartUpload(){
//constfileName=that.name+file.file.uid
constfileName=that.Aliyun.objectName++'/'+Date.now()+'-'+file.file.name
//fileName=aliyunConfig.objectName+'/'+Date.now()+'-'+file.name//所要上传的文件名拼接(test/)
//定义唯一的文件名,打印出来的uid其实就是时间戳
//client是第一步中的client
client(that.Aliyun).put(fileName,file.file,
{
progress:function(p){//获取进度条的值
console.log(p)
that.progress=p*100
}
}).then(
result=>{
//下面是如果对返回结果再进行处理,根据项目需要
//console.log(result)
//that.imgUrl='http://'+result.bucket+'.'+that.Aliyun.endpoint+'/'+result.name
that.http://www.haoziyuan.ccdialogImageUrl=result.url
that.imgUrl.push({
name:file.file.name,
url:result.url
})
console.log(that.imgUrl)
}).catch(err=>{
console.log('err:',err)
})
}
multipartUpload()
},
//图片预览
handlePictureCardPreview(file){
this.http://www.haoziyuan.ccdialogImageUrl=file.url
this.dialogVisible=true
},
//删除图片
handleRemove(file,fileList){
//console.log(file)
for(variinthis.imgUrl){
if(this.imgUrl[i].name===file.name){
this.imgUrl.splice(i,1)
}
}
}
}
}

补充知识:vue-cli项目中,配合element_ui来实现上传图片与视频到oss上。




.imgDiv{
display:block;
float:left;
width:80px;
height:100px;
border:2pxsolidblack;
img{
display:block;
width:50px;
height:80px;
}
p{
font-size:14px;
text-align:center;
}
}

以上这篇VUE实现elementupload上传图片到阿里云就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

热门推荐

1 毛坯房验收经验和常识 看了之后再验房心里有底
2 二手房收房如何交接 二手房收房注意问题
3 专业验收毛坯房的价格 商品房验收合格的标准
4 精装房怎么验收 精装房请验房师有用吗
5 一般要到哪里找验房师 验房师有哪些作用呢
6 请人验房一般是多少钱 验房师费用是多少
7 怎样测量房子面积 建筑面积和使用面积怎么算
8 收房需要注意什么 仔细检查不松懈
9 收房时三书一证一表是什么 主要作用介绍
10 交房时交房税费有哪些 本文为你一一讲解
11 验房都需要验什么 要做哪些准备呢
12 毛坯房验房师有必要请吗 毛坯房装修完如何验收
13 地下室防水工程质量验收规范详解
14 水性涂料、油性涂料区别介绍
15 零基础布艺DIY工坊 教你做超萌猫头鹰钥匙包
16 三棵树漆怎么样?三棵树漆官方网站
17 家庭“装修套餐”中猫腻你知道吗?
18 小空间大浴望 卫浴间装修巧支招