【发布时间】:2021-11-10 21:47:50
【问题描述】:
我有一个将 PDF 转换为字符串的函数:
addFile = async (file: File): Promise<Observable<File>> => {
console.log(await this.getBase64(file))
const body = {
document: (await this.getBase64(file)).split(',')[1]
}
return this.http.post<File>(parseDocumentUrl, body, httpOptions)
.pipe(
catchError(this.handleError)
);
}
getBase64(file: File) {
return new Promise<string>((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
}
问题在于resolve(reader.result) 类型与getBase64 函数的promise 上的string 返回类型不兼容:
'string | 类型的参数数组缓冲区 | null' 不可分配给类型为“string |”的参数许诺”。 类型 'null' 不能分配给类型 'string | PromiseLike'。
我需要使用split 删除返回字符串的第一部分(data:application/pdf;base64,)。
【问题讨论】:
标签: typescript