解决问题:获取到图片的base64码,通过传到七牛云空间,获取到url网络链接,方便其他地方使用图片。
代码如下:
function putb64(picBase) {
/*picUrl用来存储返回来的url*/
var token = localStorage.token;
var picUrl;
/*把头部的data:image/png;base64,去掉。(注意:base64后面的逗号也去掉)*/
picBase = picBase.substring(22);
/*通过base64编码字符流计算文件流大小函数*/
function fileSize(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;
}
/*把字符串转换成json*/
var url = "http://up-z2.qiniup.com/putb64/" + fileSize(picBase);
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
var keyText = JSON.parse(xhr.responseText);
/*返回的key是字符串,需要装换成json*/
picUrl = "http://information.chengdudatangoa.com/" + keyText.key;
"http://information.chengdudatangoa.com/"是我的链接地址,换成你的地址
localStorage.cutOutUrl = picUrl;
}
}
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/octet-stream");
xhr.setRequestHeader("Authorization", "UpToken " + token);
xhr.send(picBase);
}复制代码
转载于:https://juejin.im/post/5c6b558ff265da2dec6232aa