You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
908 B
35 lines
908 B
// base64 转为文件类型
|
|
function dataURLtoFile(dataurl, filename = 'file') {
|
|
let arr = dataurl.split(',')
|
|
let mime = arr[0].match(/:(.*?);/)[1]
|
|
let suffix = mime.split('/')[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}.${suffix}`, {
|
|
type: mime
|
|
})
|
|
}
|
|
|
|
|
|
// 转成图片文件,使用时可以这样传参进入
|
|
// var imgFile = dataURLtoFile(base64Img);
|
|
|
|
|
|
// 预览转出来的文件
|
|
function previewImageFile(imgFile){
|
|
const fileReader = new FileReader(); // 创建一个 fileReader
|
|
fileReader.readAsDataURL(imgFile); // 将生成的图片文件读到 fileReader中
|
|
const img = new Image();
|
|
img.src = fileReader.result; // 将 fileReader.result 设置为 图片的 src
|
|
document.body.appendChild(img);
|
|
}
|
|
|
|
module.exports = {
|
|
dataURLtoFile,
|
|
previewImageFile
|
|
}
|