AngularJs 使用 $http.get 获取 blob 并从响应中提取类型
AngularJs get blob with $http.get and extract type from response
我有 webApi return 我有一个必须显示的 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);
});
或者,如何在不知道文件类型的情况下在新 window 中打开 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'
作为响应类型。
有关详细信息,请参阅 MDN XHR responseType。
我有 webApi return 我有一个必须显示的 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);
});
或者,如何在不知道文件类型的情况下在新 window 中打开 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'
作为响应类型。
有关详细信息,请参阅 MDN XHR responseType。