base64转二进制流
img标签src属性,可以直接使用base64字符串,base64需要先解码,然后再转为流文章来源:https://www.toymoban.com/news/detail-637612.html
/**
* Base64字符串转二进制流
* @param {String} dataurl Base64字符串(字符串包含Data URI scheme,例如:data:image/png;base64, )
*/
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
img标签src属性,可以直接使用base64字符串,base64需要先解码,然后再转为文件文章来源地址https://www.toymoban.com/news/detail-637612.html
/**
* Base64字符串转File文件
* @param {String} dataurl Base64字符串(字符串包含Data URI scheme,例如:data:image/png;base64, )
* @param {String} filename 文件名称
*/
function dataURLtoFile(dataurl, filename) {
let arr = dataurl.split(',');
let mime = arr[0].match(/:(.*?);/)[1];
let bstr = atob(arr[1]);
let n = bstr.length;
let u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, {
type: mime
});
}
文件转base64
let fileReader = new FileReader()
file.onchange = function (e) {
console.log(e.target.files); //可以查到对应上传的文件,file是继承blob的对象
fileReader.readAsDataURL(e.target.files[0])//转base64
fileReader.onload = function (res) { console.log(res.target.result); }//显示base64的字符串
}
流转base64
/**
* 二进制流转Base64(字符串包含Data URI scheme)
* @param {Object} data 二进制流
* @param {String} type 文件类型(例如:image/png)
*/
function getDataURL(data, type) {
return new Promise((resolve, reject) => {
const blob = new Blob([data], {
type
});
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = () => resolve(reader.result);
reader.onerror = (error) => reject(error);
});
}
到了这里,关于base64转二进制流,file文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!