Jsp上传组件Smartupload介绍

举报
tea_year 发表于 2021/12/29 23:45:04 2021/12/29
【摘要】 <form action="UploadServlet" enctype="multipart/form-data" method="post"> 书籍名称:<input type="text"name="name"><br> 图片名称:上传文件:<input type="f...

  
  1. <form action="UploadServlet" enctype="multipart/form-data" method="post">
  2. 书籍名称:<input type="text"name="name"><br>
  3. 图片名称:上传文件:<input type="file" name="img"><br/>
  4. <input type="submit"value="提交">
  5. </form>


  
  1. package web;
  2. import java.io.IOException;
  3. import java.util.Date;
  4. import javax.servlet.ServletException;
  5. import javax.servlet.http.HttpServlet;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import javax.servlet.jsp.JspFactory;
  9. import javax.servlet.jsp.PageContext;
  10. import com.jspsmart.upload.Request;
  11. import com.jspsmart.upload.SmartUpload;
  12. import com.jspsmart.upload.SmartUploadException;
  13. public class UploadServlet extends HttpServlet {
  14. private static final long serialVersionUID = 1L;
  15. @Override
  16. protected void doPost(HttpServletRequest req, HttpServletResponse resp)
  17. throws ServletException, IOException {
  18. resp.setContentType("text/html");
  19. //实例化SmartUpload上传组件
  20. SmartUpload smart = new SmartUpload();
  21. //PageContext pageContext=JspFactory.getDefaultFactory().getPageContext(this, req, resp, null, true, 8192, true);
  22. //初始化上传操作
  23. smart.initialize(this.getServletConfig(),req,resp);
  24. smart.setMaxFileSize(1024*1024*10);
  25. smart.setAllowedFilesList("jpg,jpeg,bmp");
  26. //设置字符集
  27. smart.setCharset("gbk");
  28. //准备上传
  29. try {
  30. smart.setDeniedFilesList("exe,jsp,bat,html,,");
  31. smart.upload();
  32. Long time=new Date().getTime();
  33. String ext=smart.getFiles().getFile(0).getFileExt();//获取文件后缀
  34. String filename=time+"."+ext;
  35. //smart.getFiles().getFile(0).saveAs( "/img/ "+filename);//保存在容器目录下
  36. String pa=this.getServletContext().getRealPath("/")+"img"+java.io.File.separator+filename;
  37. System.out.println(pa);
  38. smart.getFiles().getFile(0).saveAs(pa);
  39. // smart.save("img");
  40. Request smartReq =smart.getRequest();
  41. String name=smartReq.getParameter("name");
  42. resp.getWriter().println(name);
  43. } catch (Exception e) {
  44. e.printStackTrace();
  45. }
  46. //将上传的文件保存到项目根路径下的uploadfile目录中
  47. }
  48. @Override
  49. protected void doGet(HttpServletRequest req, HttpServletResponse resp)
  50. throws ServletException, IOException {
  51. this.doPost(req, resp);
  52. }
  53. }

<Context path="/web" docBase="D:\updemo\WebRoot"/>

在tomcat的host目录下设置,Context子标签,让上传的时候,同步上传到项目目录下!!!

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/53396683

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。