TypeScript 3现在使用btoa()产生错误

时间:2018-11-19 18:15:23

标签: typescript

在我升级到Typescript 3之前,下面的代码可以正常工作。为什么?

var file = event.target.files[0];
var reader = new FileReader();

reader.onload = () => {
   this.fileForUpload.FileName = file.name;
   this.fileForUpload.FileType = file.type;

   var encodedString = btoa(reader.result);

   console.log(encodedString);
}
reader.readAsDataURL(file); 

现在它引发此错误:

Argument of type 'string | ArrayBuffer' is not assignable to parameter of type 'string'.
 Type 'ArrayBuffer' is not assignable to type 'string'.

有什么解决办法?

1 个答案:

答案 0 :(得分:0)

on MDN所述,该属性可以是这些类型中的任何一种,具体取决于您阅读阅读器的方式。

确保它实际上是string,然后进行投射。