首页 > 学院 > 开发设计 > 正文

servlet实现文件上传

2019-11-06 08:32:10
字体:
来源:转载
供稿:网友

1 jsp页面

<form action="upload.do" method="post" enctype="multipart/form-data">上传文件: <input type="file" name="photo" /> <input type="submit"value="上传" /></form>

2 web.xml在控制页面的servlet配置里配置

 <!-- 配置SPRing MVC DispatcherServlet -->      <servlet>          <servlet-name>MVC</servlet-name>          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>          <!-- 初始化参数 -->          <init-param>              <!-- 加载SpringMVC的xml到 spring的上下文容器中 -->              <param-name>contextConfigLocation</param-name>              <param-value>                  /WEB-INF/classes/mvc.xml              </param-value>          </init-param>          <load-on-startup>1</load-on-startup>          <multipart-config><max-file-size>52428800</max-file-size><max-request-size>52428800</max-request-size><file-size-threshold>0</file-size-threshold></multipart-config>    </servlet> 

3 java代码

1)获取header:String header = part.getHeader("Content-Disposition");

2)获取拓展名限制文件格式:String fileExt = header.substring(header.lastIndexOf("."),header.lastIndexOf("/""));

3)获取文件名:String fileName = header.substring(header.indexOf("filename=/"") + 10,header.lastIndexOf("/""));

4)获取文件流,保存文件:

InputStream in = part.getInputStream();

OutputStream out = new FileOutputStream("E:/upload-files/pictures/"+ fileName);byte[] buffer = new byte[1024];while ((in.read(buffer)) != -1) {out.write(buffer);}in.close();out.close();


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表