Blob转File
const blob = new Blob(['{"a":1}')], {
type: 'application/json'
})
let file = new File([blob], "自定义上传文件名称.json", { lastModified: Date.now() });
Blob转base64
blobToBase64(blob) {
return new Promise((resolve, reject) => {
const fileReader = new FileReader();
fileReader.onload = (e) => {
resolve(e.target.result);
};
fileReader.readAsDataURL(blob);
fileReader.onerror = () => {
reject(new Error('blobToBase64 error'));
};
});
}
File存FromData
let params = new FormData()
params .append('file',file)
File转BASE64
new Promise((resolve,reject)=>{
var reader = new FileReader()
reader.readAsDataURL(file)
reader.onload = () => {
let url = reader.result
that.$emit("uploadSuccess",url)
}
reader.onerror = function (error) {
console.log('Error: ', error)
}
})
File转Blob
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new Blob([u8arr], {
type: mime
})
}
BASE64转File
function dataURLtoFile(dataurl, filename) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, { type: mime });
}
var file = dataURLtoFile(BASE64的数据, 文件名称);
BASE64转Blob
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: mime });
}