我目前正致力于在我的系统中以角度2(beta)版本使用安全API下载文件(PDF / excel / text)。
我使用了带有身份验证标头的post API,并尝试使用收到的数据字节创建blob。
我尝试使用以下代码
return this.http.get(url, { headers: this.headers}).map( response => response.blob())
但是,我得到的错误是在角度2 HTTP中没有实现blob方法。
所以我正在尝试使用代码,我需要将字符串转换为字节数组。
return this.http.get(Configuration.API_URL + url, { headers: this.headers }).map(
response => {
var bytes = [];
var utf8 = encodeURIComponent(response.text());
for (var i = 0; i < utf8.length; i++) {
bytes.push(utf8.charCodeAt(i));
}
var data = new Blob([bytes], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(data);
window.open(fileURL);
}
);
这里我面临一些字节数组的问题。字节数组与API发送的字节数组不同。
在将字符串转换为字节数组或在angular 2 HTTP get请求中使用blob时需要帮助。
答案 0 :(得分:1)