後端直接將文件流寫入 Response 輸出,前端無法直接判斷文件是否生成。
查詢無數據時,輸出腳本關閉彈出視窗:
if (noData) {
response.setContentType("text/html;charset=UTF-8");
response.getWriter().write("<script>alert('無數據'); window.close();</script>");
return;
}
// 正常輸出文件流
前端 window.open 打開下載頁,無數據時自動彈窗關閉,有數據則觸發瀏覽器下載行為。