js生成文件file对象,blob和file相互转换

blob转file

let blob = new Blob(['这里是要转换的字符串或者图片等'], {type: "text/plain;charset=utf-8"})
 
let textContain = transToFile(blob, "文件名", "text/plain")
 
// 这么写是因为文件转换是异步任务
transToFile = async(blob, fileName, fileType) => {
    return new window.File([blob], fileName, {type: fileType})
}
 
// 转换完成后可以将file对象传给接口
textContain.then( (res)=> {
    let file = res
    console.log(res)
})

file转blob

let blob = new Blob(['这里是要转换的字符串或者图片等'], {type: "text/plain;charset=utf-8"})
let reader = new  FileReader()
reader.readAsDataURL(blob)
reader.onload = (e)=> {
    console.log('e就是读取文件返回的对象')
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript 中,File 对象Blob 对象都用于处理二进制数据,但它们有一些区别。 File 对象是通过用户在文件选择框中选择文件后创建的。它继承自 Blob 对象,因此具有 Blob 对象的所有属性和方法。File 对象通常用于处理用户上传的文件。它包含了文件的元数据,如文件名、文件类型和文件大小等。File 对象还提供了一些额外的属性和方法,用于获取文件的相关信息,如最后修改时间和文件的读取操作。 下面是一个创建 File 对象的示例: ```javascript <input type="file" id="file-input" /> <script> const fileInput = document.getElementById("file-input"); const file = fileInput.files[0]; console.log(file.name); // 获取文件名 console.log(file.type); // 获取文件类型 console.log(file.size); // 获取文件大小 </script> ``` Blob 对象用于存储二进制数据,可以包含各种类型的数据,如文本、图像、音频和视频等。Blob 对象通常用于处理非文件类型的二进制数据,例如从网络请求中获取的数据或通过 JavaScript 生成的数据。Blob 对象提供了一些方法和属性,用于操作和转换二进制数据,如获取数据大小、切割数据和转换为其他格式(如 ArrayBuffer 或文本)等。 下面是一个创建 Blob 对象的示例: ```javascript const text = "Hello, world!"; const blob = new Blob([text], { type: "text/plain" }); console.log(blob.size); // 获取 Blob 对象的大小 console.log(blob.type); // 获取 Blob 对象的类型 ``` 总结来说,File 对象用于处理用户上传的文件,包含文件的元数据和读取操作,而 Blob 对象用于存储和操作二进制数据,可以包含各种类型的数据。它们在处理二进制数据时有不同的应用场景和用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值