处理jsp页面直接访问服务器硬盘图片
2013-09-10 16:02
197 查看
package org.o2o.sys.utils; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 上传文件帮助类 * @author liumin * */ public class UploadUtil { private static String name="path"; //保存上传的文件,并返回文件名 public static String saveUploadFile(File upload) { // >> 获取路径 String basePath = getPath(); // >> 如果文件夹不存在,就创建 File dir = new File(basePath); if (!dir.exists()) { dir.mkdirs(); // 递归的创建不存在的文件夹 } // >> 拼接路径 String string = upload.toString(); String path = basePath + UUID.randomUUID().toString() + string.substring(string.length()-4, string.length()); // >> 移动文件 upload.renameTo(new File(path)); // 如果目标文件夹不存在,或是目标文件已存在,就会不成功,返回false,但不报错。 return getFileName(path); } //获取文件名称 public static String getFileName(String path){ String end=path.substring(path.lastIndexOf("."),path.length()); return path.substring(path.length()-(end.length()+36),path.length()); } //获取本地服务器保存的图片位置 public static String getPath(){ Properties file=new Properties(); try { file.load(UploadUtil.class.getClassLoader().getResourceAsStream("uploadpath.properties")); } catch (IOException e) { e.printStackTrace(); } return file.getProperty(name); } //读取本地服务器硬盘上的图片,并显示到页面 public static void show(String fileName,HttpServletRequest request,HttpServletResponse response){ File file=new File(getPath()+fileName); if(file.exists()&&!"".equals(fileName)){ try { DataOutputStream dos=new DataOutputStream(response.getOutputStream()); DataInputStream dis=new DataInputStream(new FileInputStream(file.getAbsolutePath())); byte[] data=new byte[2048]; while((dis.read(data))!=-1){ dos.write(data); dos.flush(); } dis.close(); dos.close(); } catch (IOException e) { e.printStackTrace(); } } } }
<%@ page language="java" contentType="text/html; charset=UTF-8"import="java.util.*,java.io.*" pageEncoding="UTF-8"%><%@ page import="org.o2o.sys.utils.UploadUtil"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta
http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>显示图片</title><% out.clear(); out = pageContext.pushBody(); response.setContentType("image/jpeg");//设置显示文件或图片的格式如:application/pdf String imgName = request.getParameter("fileName"); UploadUtil.show(imgName,
request, response);%></head><body></body></html>
相关文章推荐
- java 读取数据库图片地址,将图片展示在jsp页面(图片必须在服务器硬盘上,此方法才可成功)
- Java本地web项目页面如何直接访问另一台服务器的图片文件
- 在JSP页面显示本地硬盘上的图片,图片不在项目webRoot目录
- struts框架从.jsp页面直接访问action
- jfreechart 在jsp页面显示所画的图片(resin服务器的servelet配置是关键)(图片只过内存)
- idea中JSP页面不能访问静态资源(图片,js,css)
- 解决jsp页面使用网络路径访问图片的乱码问题
- 解决jsp页面使用网络路径访问图片的乱码问题
- Ubuntu系统下nginx和ftp搭建图片服务器,处理外网访问不到文件问题
- spring mvc jersey 直接访问jsp页面
- WEB-INF下的jsp页面用户不能直接访问如何解决?
- 在html页面中利用ftp访问协议格式载入服务器图片
- 在JSP页面显示本地硬盘上的图片
- 服务器对html静态页面及图片的处理——如何将静态html页面发送给浏览器端
- 解决用户绕过Servlet直接访问jsp页面
- 防止用户直接访问有关jsp页面的几种办法
- struts2中使用Blob类型处理图片上传保存在数据库中并在JSP页面中显示图片
- 在spring中如何直接访问在/WEB-INFO/ 下的 jsp页面
- webpack打包后直接访问页面图片路径错误的解决方法
- 解决用户绕过Servlet直接访问jsp页面