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();