首页 > 解决方案 > 不支持 Blob 类型

问题描述

我正在使用Nativescript 5Angulat 4,我正在尝试使用@angular/http的 get 请求下载图像

getImageFile(path){
        let headers = new Headers();
        headers.set("Content-Type", "image/jpeg");

        return this.http.get((encodeURI(this.serverUrl + path)),{method: RequestMethod.Get,
        responseType: ResponseContentType.Blob, headers: headers })
            .map(res =>  res);
}

但它返回

Error: Response type of 'blob' not supported.

所以我删除responseType: ResponseContentType.Blob它并且它有效。

但是当试图获取信息时

this.myGetService.getImageFile('api/imagen/')
        .subscribe(
            response =>{
                try{
                    var blob = new Blob([response.blob()], {type: 'image/jpeg'});
                }catch(err){
                    console.log("Super Error !!!!", err);
                }
            }, (error) => {
                console.log("Error Request: " + error);
            });

现在它抛出一个异常。

Super Error !!!! ReferenceError: Can't find variable: Blob

标签: nativescriptnativescript-angular

解决方案


这是一个开放的功能请求,以支持{N} Angular 中Blob的格式。HttpClient

一种解决getFile方法是在默认的Http模块上使用该方法。


推荐阅读