http請求下載檔案
阿新 • • 發佈:2019-02-04
最近遇到一個請求需要從資料庫查詢出來,然後點選下載,可以下載從資料庫查詢的的資料,並換行顯示。
@RequestMapping("downLoadCardListByCardType") public void downLoadCardListByCardType(String cardType, HttpServletResponse httpResponse) { List<String> giftCodes = giftCodeManager.getCodeByCardType(cardType); String code = ""; for (String giftCode : giftCodes) { code += giftCode + "\n"; } try { byte[] bytes = code.getBytes(); httpResponse.setHeader("Content-Type", "application/force-download"); httpResponse.setHeader("Content-Disposition", "attachment; filename=\"code.txt\""); httpResponse.getOutputStream().write(bytes); } catch (Exception e) { log.error("ERROR", e); } }
有幾點需要注意:
1.方法不能帶註解@ResponseBody,因為這個註解的意思是說這個方法是有返回的,如果是下載檔案的話就不需要了
2.從資料庫查詢資料的時候儘量只查詢需要的資料,因為當資料量很大時,瀏覽器就會響應超時