如何在 Angular/Typescript 中将上传的文件转换为字节数组?
组件.ts
buildRequest(): CreateRequest {
var reader = new FileReader();
return {
create: {
fileData: this.reader.readAsArrayBuffer(this.fileToUpload)
}
};
}
模型
export interface CreateRequest {
create: {
fileData: Uint8Array[]; // Also, is this correct representation of byte array?
};
}
目前,当我将 ReadAsArrayBuffer
函数分配给 fileData 时出现错误 -
"Type 'void' is not assignable to type 'Uint8Array[]'"
.
将字节数组发送到 API 请求的正确方法是什么?
最佳答案
问题已回答here !
我相信属性是字符串、blob 或任何。
export interface CreateRequest {
create: {
fileData: string|any;
};
}
顺便说一句,IO 函数是异步的(可能在任何语言中)!,您需要使用事件监听器。
reader.addEventListener('loadstart', handleEvent);
reader.addEventListener('load', handleEvent);
reader.addEventListener('loadend', handleEvent);
reader.addEventListener('progress', handleEvent);
reader.addEventListener('error', handleEvent);
reader.addEventListener('abort', handleEvent);
https://developer.mozilla.org/en-US/docs/Web/API/FileReader/load_event
如果您需要其他引用资料,希望对您有所帮助!
关于javascript - 将上传文件转换为字节数组以发送到 Angular/Typescript 中的 API 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58085174/