Можете ли вы попробовать что-то вроде этого? Если вы конвертировали base64 в Blob
правильно, вы сможете поместить BLOB-объект непосредственно в FormData
(не нужно конвертировать в File
). Затем загрузите в свой API.
let blob: Blob = this.utilService.convertBase64ToImage(base64Image);
await this.uploadImage(blob);
uploadImage(imageBlob: Blob, fileName = "imageUpload.png") {
let p = new Promise<void>((resolve, reject) => {
let formData: FormData = new FormData();
formData.append('uploadFile', imageBlob, fileName);
let params = new HttpParams();
this.httpClient.post('http://YOUR_API_HERE', formData,
{
responseType: 'text', //Empty response is expected, no JSON
})
.subscribe(
data => {
// We don't care what we get back here...
resolve();
},
error => {
//We didn't get data back
console.log("Error submitting image upload")
let e = new Error("Error uploading an image");
reject(e);
});
});
return p;
}