直接上代码:
// 上传base64图片到七牛
putb64=function(picBase){/*picBase是base64图片带头部的完整编码*/
var picUrl;/*picUrl用来存储返回来的url*/
/*把头部的data:image/png;base64,去掉。(注意:base64后面的逗号也去掉)*/
picBase=picBase.substring(22);
var url = "http://upload.qiniu.com/putb64/"+this.fileSize(picBase);
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function(){
if (xhr.readyState==4){
var keyText=xhr.responseText;
var json = eval('(' + keyText + ')'); /*把字符串转换成json*/
/*返回的key是字符串,需要装换成json*/
keyText = json;
/* http://ojvh6i96g.bkt.clouddn.com/是我的七牛云空间网址,keyText.key 是返回的图片文件名*/
picUrl="http://ojvh6i96g.bkt.clouddn.com/"+keyText.key;//picUrl就是图片的网络路径
console.log(picUrl);
}
};
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/octet-stream");
xhr.setRequestHeader("Authorization", "UpToken "+"你的uptoken");
xhr.send(picBase);
},
/*通过base64编码字符流计算文件流大小函数*/
fileSize=function(str){
var fileSize;
if(str.indexOf('=')>0)
{
var indexOf=str.indexOf('=');
str=str.substring(0,indexOf);//把末尾的’=‘号去掉
}
fileSize=parseInt(str.length-(str.length/8)*2);
return fileSize;
},