[英]How to force download PDF from folder to browser / user by JavaScript or Node.js?
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文件?
我通過在節點路由'/ 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);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.