Blob 下载类型 type 大全

本文档详细介绍了如何使用Blob进行二进制文件下载,包括不同后缀名的文件处理,提供了后台返回文件流下载的函数封装及调用示例。

Blob 二进制进行文件下载功能(后台返回文件流下载导出函数封装、调用示例),涉及不同后缀名的文件,这里整理此篇

//  type 表示默认保存类型为图片png格式
window.URL.createObjectURL(new Blob([res], {
   
   type : 'image/png'}))

Blob 的配置关系对应表:

后缀名 文件类型 类型(type)
.xls Microsoft Excel application/vnd.ms-excel
.xlsx Microsoft Excel (OpenXML) application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.csv CSV text/csv
.doc Microsoft Word applic
### Blob对象的type属性对下载文件的影响 在使用 `Blob` 对象创建文件并进行下载时,`type` 属性扮演着重要的角色,它定义了文件的 MIME 类型。浏览器会根据 `type` 属性来决定如何处理该文件,例如是直接在浏览器中显示还是触发下载行为。如果 `type` 属性设置不当,可能会导致浏览器无法正确识别文件内容,从而影响下载体验。 在创建 `Blob` 对象时,应确保 `type` 参数与实际文件内容匹配。例如,在创建文本文件时可以使用 `text/plain`,而在创建 PDF 文件时应使用 `application/pdf`。如果未指定 `type` 参数或设置为不合适的值,浏览器可能无法正确解析文件内容,导致下载后文件内容异常或无法打开。 ```javascript const blob = new Blob(['示例文本'], { type: 'text/plain' }); const url = URL.createObjectURL(blob); const link = document.createElement('a'); link.href = url; link.download = 'example.txt'; link.click(); URL.revokeObjectURL(url); ``` 此代码片段展示了如何正确使用 `Blob` 的 `type` 属性来创建一个文本文件,并触发下载行为[^1]。 在某些浏览器环境中,例如奇安信浏览器,如果 `Blob` 的 `type` 属性与实际内容不匹配,可能会触发浏览器的安全策略,导致下载失败或文件被标记为不可信。因此,在使用 `Blob` 对象创建文件时,应确保 `type` 属性与文件内容一致,以避免因 MIME 类型不匹配导致的安全策略拦截。 此外,由于 `Blob` 对象的 `type` 属性是可选的,如果未指定,其默认值为空字符串。在这种情况下,浏览器可能无法正确识别文件类型,从而影响下载行为。因此,建议在创建 `Blob` 对象时始终指定合适的 `type` 属性,以确保下载文件的兼容性和安全性。 在使用 `URL.createObjectURL` 创建对象 URL 后,应及时调用 `URL.revokeObjectURL` 释放资源,以避免内存泄漏。然而,释放对象 URL 的时机应选择在文件下载完成之后,否则可能导致下载中断或失败。 ```javascript const blob = new Blob(['示例文本'], { type: 'text/plain' }); const url = URL.createObjectURL(blob); const link = document.createElement('a'); link.href = url; link.download = 'example.txt'; link.onload = () => { URL.revokeObjectURL(url); }; link.click(); ``` 上述代码展示了如何在文件下载完成后释放对象 URL,以避免内存泄漏问题[^1]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值