解決問題:獲取到圖片的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);
}複製程式碼