加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 07:57:35 所属栏目:安全 来源:网络整理
导读:我有webApi给我一个blob文件,我必须显示. 我怎么知道我得到的斑点是什么类型的?它可以是任何东西,pdf,doc,jpeg等. $http({ method: 'GET',url: (itemsUrl),responseType: 'arraybuffer' }).then(function mySucces(res) { var byteArray = res.data; byteAr
我有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’作为responseType.

有关更多信息,请参阅MDN XHR responseType.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读