1. 程式人生 > >ssm 在前臺頁面顯示伺服器中的圖片

ssm 在前臺頁面顯示伺服器中的圖片

先來一段廢話

今天剛弄好檔案上傳,就又想起來了在前臺顯示圖片的問題,百度了很久很久東西。

正題開始

先看controller

@RequestMapping("/readfile.do")
	public void doReadFile(HttpServletRequest request, HttpServletResponse response){
		try {
			//這裡只是為了測試,所以把檔案地址寫死了
			FileInputStream pic = new FileInputStream("D:\\pic" + "\\1.jpg");
			int i =
pic.available(); byte[] date = new byte[i]; pic.read(date); pic.close(); //這裡要有這個設定,否則會報錯 response.setContentType("img/*"); response.setCharacterEncoding("utf-8"); ServletOutputStream out=response.getOutputStream(); out.write(date); out.flush(); out.close(); } catch (FileNotFoundException
e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }

JSP

<a href="${pageContext.request.contextPath }/readfile.do">獲取圖片</a>

寫成上面這個樣子的話,點選連結,會把照片下載下來,而且檔名是readfile.do
如果能下載下來的話,已經是成功了,但是剩下的一點點我花了三四個小時才弄好。
我想要的效果是吧照片顯示在頁面上,但是但這裡只能下載,不知道是因為太簡單了還是怎麼樣,百度出來的那麼多結果都不能解決,最後,還是找到了一個。

<img  src="${pageContext.request.contextPath }/readfile.do" >

寫成上面這個樣子就行了,用imp標籤直接訪問後臺。
上傳檔案的時候就是因為打錯了一個字母,顯示個照片又是因為不會這麼用,兩個一下就花了一天,mdzz,真雞兒菜。