我正在向数据发布一些rest api,并且应该将blob对象作为响应。我需要下载那个blob,或者我需要在我的角度应用程序中邮寄它。但我想弄清楚如何捕获blob对象作为响应。我的dataservice文件是:
export class DataService<Type> {
private resolveSuffix: string = '?resolve=true';
private actionUrl: string;
private headers: Headers;
constructor(private http: Http, private httpClient:HttpClient) { }
public issueId(asset: Type): Observable<Blob> {
return this.httpC.post('http://localhost:3001/api/system/identities/issue', asset, {responseType: "blob"})
.toPromise();
}
我收到错误:
property httpC doesn't exist on type 'DataService<Type>'
编辑:第一个错误已修复,现在错误是 类型'Promise'不能分配给'Observable'
类型答案 0 :(得分:1)
看看你的构造函数。您在签名中将其称为httpC
,而不是httpClient
,这意味着您的通话应使用this.httpC.post
。
答案 1 :(得分:1)
现在错误类型'Promise'不能分配给'Observable'
错误似乎很清楚。如果查看httpClient方法的文档,可以看到它们返回Observable。
您的服务的返回值是Observable
您只需要从退货声明中删除toPromise()
。