2017-05-02 51 views
0

我试图将文件转换为Blob而不使用FileReader。我无法使用FileReader,因为最新版本的Typescript(我必须使用)不接受File作为fileReader.readAsArrayBuffer()的参数。如何在没有FileReader的情况下在Javascript中将文件转换为Blob?

使用的FileReader我可以如下做到这一点:

var reader = new FileReader(); 

reader.onloadend = function(e) { 
    new Blob([ this.result ], { type: "image/jpeg" }); 
}; 

reader.readAsArrayBuffer(file); 

我如何能实现的FileReader不相同的结果?

+0

如果我没有记错,'File'是'Blob'的子类,所以你甚至不需要使用FileReader,它只是一个Blob。尽管Typescript有问题,但你总是可以投入“任何”。 – loganfsmyth

回答

1

您可以随时增加lib.d.ts中的声明,过载接受File

例如,创建一个具有以下内容

interface FileReader { 
    readAsArrayBuffer(file: File): void; 
} 

也就是说,如果该声明被改变,我会小心的这种行为,因为某些环境可能不支持它命名globals.d.ts文件。

相关问题