2017-05-02 82 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文件。

相關問題