You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript报错:{ blobParts: any[] }无法赋值给Blob类型的问题咨询

解决TypeScript中Blob赋值的类型错误问题

嘿,我来帮你搞定这个TypeScript的Blob类型错误!

问题到底出在哪?

你现在的写法是直接用一个包含blobParts属性的对象字面量来赋值给Blob类型变量,但从lib.d.ts里的Blob声明就能看出来:

  • Blob接口定义的是实例本身拥有的属性和方法(比如size、type、slice()这些),里面根本没有blobParts这个属性
  • blobParts其实是Blob构造函数的入参名称,不是实例会带的属性。构造函数的声明里写的new (blobParts?: any[], ...),意思是调用new Blob()时可以传这个参数,但实例本身不会暴露这个属性

所以TypeScript检查时发现你写的对象字面量有个blobParts属性,而Blob类型并不包含它,自然就报错了。

正确的打开方式

要创建合法的Blob实例,必须用Blob构造函数来初始化,而不是直接写对象字面量。举个例子:

// 先把JSON数据转成Blob支持的字符串格式
const jsonContent = JSON.stringify(content);
// 用构造函数创建Blob实例,指定内容和可选的MIME类型
let blob: Blob = new Blob([jsonContent], { type: 'application/json' });

额外提示

  • 如果你的content本身就是Blob支持的类型(比如字符串、ArrayBuffer、TypedArray或者其他Blob实例),可以直接传给构造函数,不用额外转换
  • 构造函数的第二个参数options是可选的,设置type能让Blob带上正确的MIME类型,后续处理(比如下载、上传)时会更顺畅

内容的提问来源于stack exchange,提问作者Raman Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:05:37