日期:2014-05-16  浏览次数:20346 次

jsp页面中根据路径显示一定大小尺寸的图片

针对的是:将本地盘中的图片显示到页面上,点击提交后,将图片保存至指定的路径,并将保存的绝对路径保存到数据库。遇到的问题:1,<input type="file" name="image"/><div id="imgDiv"></div>

????????????????????? 其中不能根据图片的绝对路径来显示图片,上网搜了原因,可能是服务器启动后,只能访问当前服务器路径之内的文件,而windows下打开html文件不受此限制,所以不能用计算机的路径。

???????????????????2,在火狐浏览器中只能获得文件名,但是无法获得图片的全路径

???????????????????????解决办法:在action中设置:private File image; // 与jsp表单中的名称对应

??????????????????????????????????????private String imageFileName; // FileName为固定格式

?????????????????????????????????? imageFileName-------***.jpg;

???????????????????????????????????imageAbsoluteFile--------D:\Tomcat 6.0\work\Catalina\localhost\****\upload_538e389c_12c96279792__8000_00000021.tmp

???????????????????? 3,根据图片的尺寸,按一定的比例来显示图片,但是不改变本身图片的大小,只是控制显示在页面上的图片大小。

????????????????????? jsp:<img src=" ***/showPicture.action?fullName=<s:property value=''/>">

??????????????????????? 解决办法:???BufferedImage bufferedImage = javax.imageio.ImageIO.read(file);???
?????????????????????????????????????????? BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
?????????????????????????????????????????? image.getGraphics().drawImage(bufferedImage,0, 0, width, height, null); //绘制缩小后的图

????????????????????????????????????????????HttpServletResponse response = ServletActionContext.getResponse();
?????????????????????????????????????????????OutputStream output = response.getOutputStream();
????????????????????????????????????????????? javax.imageio.ImageIO.write(image,"GIF",output);//将Image对象放入输出流
????????????????????????????????????????????? output.flush();
????????????????????????????????????????????? output.close();