如何解决如何使用Angular 9发布Blob?
我正在尝试将Blob发送到服务器,但无法正常工作。我正在使用doctemplater库创建一个Blob。这个Blob是正确的,因为我能够保存到本地文件(使用saveAs(...)
)。但是现在我也需要将此文件传输到我的服务器。
let out = doc.getZip().generate({
type: 'blob',mimeType: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',});
所以我正在尝试
const data = {
name: "test,content: out
}
this.http.post<any[]>(this.path,data).pipe(
catchError((err: HttpErrorResponse) => {
// ...
})
);
问题在于data['out']
在服务器端始终为空。那么如何将Blob发送到服务器?
解决方法
尝试像这样使用FormData
:
const formData = new FormData();
formData.append(name,value,filename);
有关更多信息,请访问此link。
,尝试
this.http.post<any[]>(path,data,{ responseType: 'blob'})
,
在您的服务文件中创建发布方法
updateDistrictLogo(formdata: FormData): Observable<any> {
return this.http.post<any>(
this.constantService.getUrl(your API URL),formdata,);
}
在您的componen.ts文件中 在构造函数中创建服务实例
constructor(private ContactService: ContactInformationService) {}
然后创建一个方法并调用api
updatefile() {
const formdata = new FormData();
formdata.append("file",blob);
this.ContactService.updateDistrictLogo(formdata).subscribe(
success => {
console.log(success);
},error => {
console.log(error);
}
);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。