1. 程式人生 > >http請求下載檔案

http請求下載檔案

最近遇到一個請求需要從資料庫查詢出來,然後點選下載,可以下載從資料庫查詢的的資料,並換行顯示。

@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.從資料庫查詢資料的時候儘量只查詢需要的資料,因為當資料量很大時,瀏覽器就會響應超時