文件的上传

网友投稿 826 2022-11-10

文件的上传

文件的上传

1.在WebRoot目录下新建一个upload文件,新建一个index.jsp和message.js文件。

1.新建一个UploadServle类; package com.ask.upload; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import javax.servlet.ServletException; import javax.servlet.import javax.servlet.import javax.servlet.import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class UploadServle extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String uploadPath=this.getServletContext().getRealPath("upload"); System.out.println(uploadPath); //创建一个上传文件的工厂 DiskFileItemFactory factory=new DiskFileItemFactory(); //设置大小 factory.setSizeThreshold(100*1024); //创建上传文件的核心对象 ServletFileUpload upload=new ServletFileUpload(factory); upload.setHeaderEncoding("utf-8"); //判断是否是以mime协议上传 boolean flag=upload.isMultipartContent(req); if (flag) { try { List fileItems=upload.parseRequest(req); for (FileItem fileItem : fileItems) { if (fileItem.isFormField()) { //必定是普通字段 String name=fileItem.getFieldName(); String value=fileItem.getString("utf-8"); System.out.println(name+"="+value); }else{ //必定是上传字段 String upName=fileItem.getName(); //低IE d:\e\r\e.jpg 非低IE e.jpg int index=upName.lastIndexOf("\\"); if (index>=0) { upName=upName.substring(upName.lastIndexOf(index+1)); } System.out.println(upName); InputStream is=fileItem.getInputStream(); OutputStream os=new FileOutputStream(uploadPath+"\\"+upName); byte[] buf=new byte[1024]; int len=0; while((len=is.read(buf))!=-1){ os.write(buf,0,len); } req.setAttribute("msg", "文件上传成功!"); req.getRequestDispatcher("message.jsp").forward(req, res); } } } catch (FileUploadException e) { e.printStackTrace(); req.setAttribute("msg", "文件上传失败!"); req.getRequestDispatcher("message.jsp").forward(req, res); } } } }

2.index.jsp文件代码如下:

文件上传
上传用户:
上传文件:
3.message.jsp代码如下: ${msg }

4.xml配置如下:

up com.ask.upload.UploadServle up /up

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:struts2中获得jsp元素值使用接口方法
下一篇:Jfinal配置不得不注意的问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~