Maison > Questions et réponses > le corps du texte
Comment télécharger des images frontales base64 sur Alibaba Cloud oss
滿天的星座2017-07-05 10:28:13
Mettez d'abord les données decode_base64
, puis passez
Pour le téléchargement en streaming, téléchargez directement le contenu résolu
Téléchargez le fichier, enregistrez-le en tant que fichier temporaire, puis téléchargez-le de la manière traditionnelle
習慣沉默2017-07-05 10:28:13
Avez-vous obtenu l'image base64 maintenant ? Si oui, alors appelez simplement l'interface de téléchargement correspondant à oss. Si vous n'avez pas obtenu l'image au format base64, utilisez la méthode suivante :
init : function(options) {
var oThis = this;
if( typeof FileReader==='undefined' ) {
this.imgBox.innerHTML = "抱歉,你的浏览器不支持 FileReader";
this.file.setAttribute('disabled','disabled');
} else {
this.file.addEventListener('change', oThis.readFile.bind(this), false);
}
},
readFile : function(event) {
var file = this.file.files[0],
oThis = this;
console.log(this);
if ( !oThis.reg.test(file.type) ) {
alert("文件必须为图片!");
return;
}
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(e) {
var img = new Image(),
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) {
var width = 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);
return data;
}