实例及实现原理如下
1 2 3 4 5 6 7 8 9 10
| var uploadKey = 'avatar/20191212/userid-1.png';
var key = btoa(unescape(encodeURIComponent(uploadKey)));
var url = "http://upload.qiniup.com/putb64/12" + '/key/' + key;
|
运行上面代码结果如下
1 2 3 4 5 6 7 8 9
| > var uploadKey = 'avatar/20191212/userid-1.png'; < undefined > var key = btoa(unescape(encodeURIComponent(uploadKey))); < undefined > var url = "http://upload.qiniup.com/putb64/12"+'/key/'+key; < undefined > console.log(url) VM7861:1 http://upload.qiniup.com/putb64/12/key/YXZhdGFyLzIwMTkxMjEyL3VzZXJpZC0xLnBuZw== > undefined
|
参考如下 https://stackoverflow.com/questions/246801/how-can-you-encode-a-string-to-base64-in-javascript
我们分解执行下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| > var a = encodeURIComponent(uploadKey) < undefined > console.log(a) < avatar%2F20191212%2Fuserid-1.png > undefined < var b = unescape(a); > undefined < console.log(b) avatar/20191212/userid-1.png > undefined < var c = btoa(b) > undefined < console.log(c) YXZhdGFyLzIwMTkxMjEyL3VzZXJpZC0xLnBuZw== > undefined
|