为了账号安全,请及时绑定邮箱和手机立即绑定

如何把前端的base64图片上传到阿里云oss

如何把前端的base64图片上传到阿里云oss

一只甜甜圈 2019-05-25 17:22:50
如何把前端的base64图片上传到阿里云oss
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

先把数据decode_base64,然后通过
流式上传就直接把解出来的内容直接上传
文件上传,就保存为临时文件,再按传统方式上传
                            
查看完整回答
反对 回复 2019-05-25
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

你现在是获取到了base64的图片了吗如果是的话那就调用oss对应的上传接口不就好了如果没有获取到base64格式的图片就用下面的办法:
init:function(options){
varoThis=this;
if(typeofFileReader==='undefined'){
this.imgBox.innerHTML="抱歉,你的浏览器不支持FileReader";
this.file.setAttribute('disabled','disabled');
}else{
this.file.addEventListener('change',oThis.readFile.bind(this),false);
}
},
readFile:function(event){
varfile=this.file.files[0],
oThis=this;
console.log(this);
if(!oThis.reg.test(file.type)){
alert("文件必须为图片!");
return;
}
varreader=newFileReader();
reader.readAsDataURL(file);
reader.onload=function(e){
varimg=newImage(),
length=this.result.length,
result=this.result;
img.src=result;
img.onload=function(){
if(length>oThis.maxSize){
result=oThis.compress(img);
}
oThis.imgBox.src=result;
oThis.cb(result);
};
}
},
compress:function(img){
varwidth=img.width,
height=img.height,
data=null;
this.canvas.width=img.width;
this.canvas.height=img.height;
this.ctx.drawImage(img,0,0,width,height);
data=this.canvas.toDataURL('image/jpeg',this.ratio);
returndata;
}
                            
查看完整回答
反对 回复 2019-05-25
  • 2 回答
  • 0 关注
  • 3065 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信