使用js 写一个函数 将base64 转换成file
使用示例
函数说明
-
参数:
-
base64
: Base64编码的字符串(可以包含data:前缀) -
filename
: 生成的文件名 -
mimeType
: 可选参数,指定文件的MIME类型,默认为'image/png'
-
-
处理过程:
-
移除Base64字符串中的前缀(如
data:image/png;base64,
) -
将Base64解码为二进制数据
-
将二进制数据分块处理(适合大文件)
-
创建Blob对象
-
最后转换为File对象
-
-
返回值:
-
返回一个标准的File对象,可以直接用于表单上传或XMLHttpRequest
-
注意事项
-
如果Base64字符串包含前缀(如
data:image/png;base64,
),函数会自动移除 -
对于大型Base64字符串,函数已经做了分块处理,避免内存问题
-
默认MIME类型是'image/png',可以根据实际需要修改
-
在浏览器环境中使用,需要支持
atob()
、Blob
和File
API
兼容性处理
如果需要支持旧版浏览器,可以添加以下polyfill检查:
javascript
复制
下载
// 检查必要的API是否存在 if (typeof atob === 'undefined' || typeof Blob === 'undefined') {throw new Error('当前环境不支持Base64转换所需的API'); }