我嘗試使用 nodejs 和 Javascript 下載檔案。當我在瀏覽器中呼叫 URL 時,檔案被下載。當我使用 fetch 在我的 javascript 檔案中呼叫此端點時,下載不起作用
NodeJS 端點
app.get("/download", function (req, res, next) {
res.download(
filepath
);
});
Javascript 呼叫
const downloadFile = async (path) => {
await fetch("http://localhost:8080/download", {
method: "Get",
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error);
});
};
你有什么建議嗎?
非常感謝你!
uj5u.com熱心網友回復:
當您使用 Ajax 發出請求時,回應將傳遞回 JavaScript 代碼進行處理。
如果你想對服務器發送給你的檔案做一些事情,那么你需要撰寫 JavaScript 來做一些事情。
您的 JavaScript 記錄回應物件然后停止。
如果您在地址欄中鍵入 URL/單擊鏈接等,瀏覽器只會在視口中自動呈現它/將其保存到下載中。執行 Ajax顯式避免了這種自動處理。
所以這里的解決方案是:不要使用 Ajax。使用鏈接,或為 賦值location等。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/409186.html
標籤:
