在项目中遇到了baes64的问题,后台要求提交格式不能是baes64前端应该怎么处理
情况如下:
我现在需要获取到thumbUrl 这个值,但是是baes64格式的,我现在又想将这条数据提交给后端,那么就需要我们自己写一个在线编码器,让baes64图片转成普通格式,
一、手动实现解码器
base64ToFile(urlData, fileName) {
let arr = urlData.split(',')
let mime = arr[0].match(/:(.*?);/)[1]
let bytes = atob(arr[1]) // 解码base64
let n = bytes.length
let ia = new Uint8Array(n)
while (n--) {
ia[n] = bytes.charCodeAt(n)
}
return new File([ia], fileName, { type: mime })
},
二、处理文件的可能会发生的各种情况
getObjectURL(file) {
var url = null
if (window.createObjectURL != undefined) {
url = window.createObjectURL(file)
} else if (window.URL != undefined) {
url = wind