JavaScript/jQuery 代码: $(document).on('click', '.dow-6ren">
gpt4 book ai didi

javascript - 如何通过 JavaScript 或 Node.js 强制将 PDF 从文件夹下载到浏览器/用户?

转载 作者:搜寻专家 更新时间:2023-10-31 23:44:25 26 4
gpt4 key购买 nike

HTML(ejs模板)代码:

<input class="download" data-orderId="<%= orders[i].stubhubOrderId %>" type="button" value="Download">

JavaScript/jQuery 代码:

$(document).on('click', '.download', function (e) {
showSpinner();
const orderId = $(this).attr('data-orderId');
axios.post('/get-order-ticket-by-orderid', {
orderId: orderId
})
.then(function (response) {
hideSpinner();
// PDF Download code
const fileURL = '/uploads/539038653.pdf'
const fileName = '539038653.pdf'
// for non-IE
if (!window.ActiveXObject) {
var save = document.createElement('a');
save.href = fileURL;
save.target = '_blank';
save.download = fileName || 'unknown';

var evt = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': false
});
save.dispatchEvent(evt);

(window.URL || window.webkitURL).revokeObjectURL(save.href);
}

// for IE < 11
else if ( !! window.ActiveXObject && document.execCommand) {
var _window = window.open(fileURL, '_blank');
_window.document.close();
_window.document.execCommand('SaveAs', true, fileName || fileURL)
_window.close();
}
})
.catch(function (error) {
hideSpinner();
});
});

当我在新选项卡中手动打开 PDF ( http://localhost:3001/uploads/539038653.pdf ) 时,它工作正常,但通过上面的代码,我得到了损坏/损坏的文件 (PDF)。我在打开下载的 PDF 时收到此消息“PDF 文档已损坏”。

谁能帮我用 JavaScript 从文件夹中下载 PDF 文件?

最佳答案

我通过在 Node 路由“/get-order-ticket-by-orderid”中添加以下代码解决了这个问题(请参阅我问题中的代码以获取“/get-order-ticket-by-orderid”)

let wstream = data.data.pipe(fs.createWriteStream('uploads/test.pdf'));
wstream.on('finish', function () {
return res.status(data.status).json(data);
});

关于javascript - 如何通过 JavaScript 或 Node.js 强制将 PDF 从文件夹下载到浏览器/用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55253706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com