需要确保将图像转换为base64格式,并正确地将其作为请求正文的一部分进行发送。
示例代码:
import { HttpClient, HttpHeaders } from '@angular/common/http';
// 获取图片并将其转换为base64格式
import { from, Observable } from 'rxjs';
import { map } from 'rxjs/operators';
const imageData: Observable = from(fetch('/path/to/image')
.then(response => response.blob())
.then(blob => new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = () => { resolve(reader.result); };
reader.onerror = reject;
reader.readAsDataURL(blob);
}))
);
// 设置 HTTP 请求头
const headers = new HttpHeaders({ 'Content-Type': 'application/json' });
// 发送POST请求
this.http.post('http://example.com/upload-image',
{ image: await imageData.toPromise() },
{ headers }
).subscribe(response => console.log(response));