发布数据后获取Blob对象

时间:2018-03-30 07:16:40

标签: angular angular-httpclient

我正在向数据发布一些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'

类型

2 个答案:

答案 0 :(得分:1)

看看你的构造函数。您在签名中将其称为httpC,而不是httpClient,这意味着您的通话应使用this.httpC.post

答案 1 :(得分:1)

  

现在错误类型'Promise'不能分配给'Observable'

错误似乎很清楚。如果查看httpClient方法的文档,可以看到它们返回Observable。

您的服务的返回值是Observable

您只需要从退货声明中删除toPromise()