Method: PUT
Endpoint :
/application1/file/{filetype}/transactionType {
"accountNumber":"344224433344333"
}
API将返回CSV/PDF/XLS类型的文件
问题:
您需要将base64字符串转换为blob
类型,然后进行下载/打印
function b64toBlob(b64Data,callback) {
var contentType = 'application/pdf'; // put your file type here
var sliceSize = 512;
b64Data = b64Data.replace(/^[^,]+,/, '');
b64Data = b64Data.replace(/\s/g, '');
var byteCharacters = window.atob(b64Data);
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
var slice = byteCharacters.slice(offset, offset + sliceSize);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
blob = new Blob(byteArrays, {
type: contentType
});
callback(blob)
}
function downloadData(fileName,blob) {
var a = document.createElement("a");
var url = window.URL.createObjectURL(blob);
document.body.appendChild(a);
a.style = "display: none";
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
}
// call it like this
b64toBlob(base64string,function(data){
function downloadData('sample.pdf',data)
})
问题内容: 我使用angular 6从rest api下载文件时遇到问题 后端方法 Mathod getHeader 我的角度服务 我已经使用PostMan尝试了我的API,它的单词完美,但是在Angular中,它给了我这个错误 问题答案: 尝试将内容类型添加到您的请求标头中。您可以尝试使用以下示例:
问题内容: 我的API控制器返回的是csv文件,如下所示: 我的angularjs将发送和接收csv文件如下所示: 在chrome中,它将下载一个名为,但没有文件扩展名的文件。该文件的内容为。 在IE10中,没有下载任何内容。 我该怎么做才能解决此问题? 问题答案: 像这样尝试:
我们有一个带有ASP.NET web API后端的angular客户端(angular 6)。 要求:在后端服务的UI上下载文件。文件可以是任何类型-PDF、图像、文档、excel文件、记事本。 执行情况如下: 角度编码如下: 服务 组件 我们在这里错过了什么?
我的python3代码: 它将内容保存在metadat.pdf但那不是pdf的真正内容,它是这个html页面: 任何帮助,我如何才能保存文件的真实内容,而不是这个html?它应该是真正的pdf,当我下载它是jsut这个html页面 更新: 当我使用Python会话时,从服务器的一个NSWER:
问题内容: 我想下载一个jQueryajax响应的pdf文件。Ajax响应包含pdf文件数据。。我的代码在下面给出,但是我总是得到一个空白的pdf。 问题答案: jQuery使用AJAX请求加载二进制数据时存在一些问题,因为它尚未实现某些HTML5 XHRv2功能 鉴于此,您拥有以下两种解决方案之一: 第一个解决方案是放弃JQuery并使用XMLHTTPRequest 与本地HTMLHTTPReq
问题内容: 我正在尝试使浏览器下载从ajax响应接收到的pdf文件。 受jquery ajax下载pdf文件启发,我模拟了如下单击/下载事件: 不幸的是,这仅适用于Chrome,不适用于Firefox + IE。当我尝试在最后两个浏览器中触发它时,没有任何反应。 由于从CMS继承,脚本和标记被放置在iframe中,但是我不确定这是否有影响。 关于如何针对所有现代浏览器进行优化的想法? 问题答案: