html展示LINUX服務器問題解決:
把 file:///d:/images/xxx.jpg當做一個字符串返回給客瀏覽器?那當然不行。你要在servlet里讀取這個文件的內容,生成一個流,然后通過response輸出給瀏覽器,同時要正確設置返回http的header屬性。
前台主要代碼:
<img style="width:150px;height:150px;border:solid gray 1px;margin:5px;cursor:pointer;" alt="霧霾圖片為空" title="雙擊查看大圖" ondblclick="showWumaiPic(this);" src="getPicture.do?Path=*****"></img>
后台主要代碼:
final String path = request.getParameter("Path");
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
BufferedInputStream bis = null;
OutputStream os = null;
FileInputStream fileInputStream = new FileInputStream(new File(path));
bis = new BufferedInputStream(fileInputStream);
byte[] buffer = new byte[512];
response.reset();
response.setCharacterEncoding("UTF-8");
//不同類型的文件對應不同的MIME類型
response.setContentType("image/png");
//文件以流的方式發送到客戶端瀏覽器
//response.setHeader("Content-Disposition","attachment; filename=img.jpg");
//response.setHeader("Content-Disposition", "inline; filename=img.jpg");
response.setContentLength(bis.available());
os = response.getOutputStream();
int n;
while ((n = bis.read(buffer)) != -1) {
os.write(buffer, 0, n);
}
bis.close();
os.flush();
os.close();