大佬教程收集整理的这篇文章主要介绍了js实现把图片的绝对路径转为base64字符串、blob对象再上传,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
JavaScript把项目本地的图片或者图片的绝对路径转为base64字符串、blob对象在上传。
从本地选择图片上传,如项目规定只能选择本项目文件夹下的图像上传为头像等。
使用canvas.toDataURL()方法将图片的绝对路径转换为base64编码.
在这我们引用淘宝服务器上的一张图片举例:
var ctx = canvas.getContext("2d");
ctx.drawImage(img,canvas.width,canvas.height);
var dataURL = canvas.toDataURL();
return dataURL;
}
var image = new Image();
image.src = img;
var deferred=$.Deferred();
if(img){
image.onload =function (){
deferred.resolve(getBase64Image(imagE));//将base64传给done上传处理
}
return deferred.promise();//问题要让onload完成后再return sessionStorage['imgTest']
}
}
getBase64(imgSrC)
.then(function(base64){
console.log(base64);
},function(err){
console.log(err);
});
此时在chrome测试,运行时会报错!
我们使用的是淘宝服务器上的图片,在本地服务器下访问,结果出现图片跨域的问题。
一、将图片放在本地服务器
二、 跨域
想引用其他服务器下的图片该如何解决呢?
我们可以使用下面这一句代码解决跨域。
测试在chrome和firefox,ie9+下生效,在目前safari6以下貌似不支持。
title="js实现把图片的绝对路径转为base64字符串、blob对象再上传" alt="js实现把图片的绝对路径转为base64字符串、blob对象再上传" id="test" src="" />
上面是本功能的完整代码,亲们,可以测试咯!
这样就本地图片和其他服务器上的图片都可以处理了!
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持菜鸟教程!
以上是大佬教程为你收集整理的js实现把图片的绝对路径转为base64字符串、blob对象再上传全部内容,希望文章能够帮你解决js实现把图片的绝对路径转为base64字符串、blob对象再上传所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。