在 Angular2 中安装 FileReaderSync

raf*_*b21 5 filereader typescript angular

如何FileReaderSync在 Angular2 中安装?

它出现在文件中node_modules/typescript/lib/lib.webworker.d.ts但无法使用它。

FileReader可以使用它而无需导入任何内容。

我需要对 FileReaderSync 做一些不同的事情吗?

error TS2304: Cannot find name 'FileReaderSync'.

在此输入图像描述

小智 4

几个月前我遇到了同样的问题,解决方案是编写自定义类型。

main.bowser.d.ts

interface FileReaderSync {
  readAsArrayBuffer(blob: Blob): any;
  readAsBinaryString(blob: Blob): void;
  readAsDataURL(blob: Blob): string;
  readAsText(blob: Blob, encoding?: string): string;
}

declare var FileReaderSync: {
  prototype: FileReaderSync;
  new(): FileReaderSync;
};
Run Code Online (Sandbox Code Playgroud)

并在引导 Angular2 时包含它们

// <reference path="./main.browser.d.ts" />
Run Code Online (Sandbox Code Playgroud)

我刚刚写了一篇关于此的文章:D http://icode.co/angular2/php/2016/12/21/async-file-streaming-from-JS-to-PHP-WebWorkers.html