[英]Improve AJAX function in ASP.NET C# to download PDF faster - HOW
我创建了一个 function 使用 AJAX 从给定的 URL 下载文件(我调用 ZDB974238D14CADE1 所需的文件)
URL看起来像这样:
http://server43.test.local:9867/api/rest/invoices/receipts/pdf?business=01&account=87577&type=TRANSACTION&numberTRX=AGH66
Function下载PDF:
function downLoadFile(url) {
$("#h_msj").text("Downloading file...");
$.ajax({
url: url,
method: 'GET',
responseType: 'arraybuffer',
success: function (response) {
if (response.fileName.length == 0) {
alert("File not available!!");
}
else {
var arrayBuffer = base64ToArrayBuffer(response.data);
saveByteArray(response.fileName, arrayBuffer);
}
}
});
}).then(function () { $("#h_msj").text(""); });
调用的其他函数:
//convert BASE64 string to Byte{} array
function base64ToArrayBuffer(base64) {
var binaryString = window.atob(base64);
var binaryLen = binaryString.length;
var bytes = new Uint8Array(binaryLen);
for (var i = 0; i < binaryLen; i++) {
var ascii = binaryString.charCodeAt(i);
bytes[i] = ascii;
}
return bytes;
}
//save Byte[] array and download
function saveByteArray(fileName, byte) {
var blob = new Blob([byte], { type: "application/octetstream" });
var link = document.createElement('a');
link.href = window.URL.createObjectURL(blob);
link.download = fileName;
link.click();
link.remove();
window.URL.revokeObjectURL(url);
}
问题是通过使用它需要一段时间来下载 PDF。
我的代码高效吗? 我怎样才能让它更快?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.