先通过后端拿到 domain 和 token 值 其实就是后端通过 七牛仓库的一些配置 返为 domain 和 token
let url = globalAjaxUrl + '/admin/banner/getToken';
pageCommon.getAjax(url, {}, function (res) {
localStorage.setItem('domain', res.result.domain);
localStorage.setItem('token', res.result.token);
});
我这里保存到了localStorage中
传入 base64 的值
getTokenUrl:function (base) {
let src;
let token = localStorage.getItem('token'); // 获取到localStorage的 token
let pic = base.split("base64,")[1]; //七牛云需要接受的参数是 base64, 后面的值 所以我把它截取了
let url = 'http://upload-z2.qiniup.com/putb64/-1'; // 我这个是华南地区的 要根据仓库选择url 这个是官方的 https://developer.qiniu.com/kodo/kb/1326/how-to-upload-photos-to-seven-niuyun-base64-code
$.ajax({
url: url,
type: 'POST',
async:false, // 这里我使用 同步的方式是为了把 得到的 src 返回出去
beforeSend (request) { // 请求之前设置请求头
request.setRequestHeader('Content-Type', 'application/octet-stream');
request.setRequestHeader('Authorization', 'UpToken ' + token) // token服务端请求
},
data: pic,
success: function (data) {
let domain = localStorage.getItem('domain');
src = ' http://' + domain +'/'+ data.key; // 拼接上 domain就可以得到图片的url链接
}
});
return src;
}
这里函数 返回的 src 就是一个图片路径了