9

我正在尝试使用 FileSystem API 在 TypeScript 中编写文件下载器。

当我试图创建一个新的 Blob 对象时:

var blob: Blob = new Blob(xhr.response, JSON.stringify(mime));

我收到错误:

Supplied parameters do not match any signature of call target

可以在没有任何参数的情况下创建 Blob:

var blob: Blob = new Blob();

但这无济于事。

Blob 的(已弃用)回退是 BlobBuilder 对象,但 TypeScript(VS 2012 插件)仅提供该MSBlobBuilder对象。

我究竟做错了什么?还是 TypeScript 不知道 Blob 构造函数?

4

1 回答 1

6

lib.d.ts 库中的定义Blob只包含一个空的构造函数:

declare var Blob: {
    prototype: Blob;
    new (): Blob;
}

如果这不正确,您可以提交回更正的版本,或在您的代码中覆盖它。这是对原始声明应该是什么样子的粗略猜测。

declare var Blob: {
    prototype: Blob;
    new (): Blob;
    new (request: any, mime: string): Blob;
}

我没有指定第一个参数的类型,并且名称可能是错误的 - 但正如您所知Blob,您可以根据需要调整这些。

于 2012-10-29T15:15:58.307 回答