/**
* 将base64转换为文件
* @param {baseURL} dataurl
* @param {文件名称} filename
* @return {文件二进制流}
*/
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 });
}
/**
* @param {二进制文件流} file
* @param {回调函数,返回base64} fn
*/
function changeFileToBaseURL(file, fn) {
// console.log(file, fn)
// 创建读取文件对象
var fileReader = new FileReader();
//如果file没定义返回null
if (file == undefined) return fn(null);
// 读取file文件,得到的结果为base64位
fileReader.readAsDataURL(file);
fileReader.onload = function () {
// 把读取到的base64
var imgBase64Data = this.result;
fn(imgBase64Data);
}
}
module.exports = { changeFileToBaseURL, dataURLtoFile }
file 转base64 and base转file
最新推荐文章于 2024-04-18 07:32:38 发布