Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJs使用$http.get获取blob并从响应中提取类型_Angularjs_Angularjs Http - Fatal编程技术网

AngularJs使用$http.get获取blob并从响应中提取类型

AngularJs使用$http.get获取blob并从响应中提取类型,angularjs,angularjs-http,Angularjs,Angularjs Http,我让webApi返回一个必须显示的blob文件。 我怎么知道我得到的斑点是什么类型的?它可以是任何东西,pdf、doc、jpeg等等 $http({ method: 'GET', url: (itemsUrl), responseType: 'arraybuffer' }).then(function mySucces(res) { var byteArray = res.data; byteArray = new Uint8Array(byteArray); var f

我让webApi返回一个必须显示的blob文件。 我怎么知道我得到的斑点是什么类型的?它可以是任何东西,pdf、doc、jpeg等等

$http({ method: 'GET', url: (itemsUrl), responseType: 'arraybuffer' }).then(function mySucces(res) {
    var byteArray = res.data;
    byteArray = new Uint8Array(byteArray);
    var file = new Blob([byteArray], { type: '??????' });
    var fileURL = URL.createObjectURL(file);
    window.open(fileURL);
});
或者,如何在不知道文件类型的情况下在新窗口中打开blob?

使用
response.headers()
获取内容类型:

var config = { responseType: 'blob' };

$http.get(itemsUrl, config).then(function onSuccess(response) {
    var blob = response.data;
    var contentType = response.headers("content-type");
    var fileURL = URL.createObjectURL(blob);
    window.open(fileURL); 
});
考虑使用
'blob'
作为响应类型


有关更多信息,请参阅。

如果有人想知道如何在使用
POST
时获得blob响应,请参阅。

$http.POST(url、数据、配置)
。(请参阅)您没有使用contentType变量,为什么要创建它?问题的标题是“获取blob并从响应中提取类型”。