Java--Servlet MultipartRequest上传后文件改名

举报
吾日三省贾斯汀 发表于 2021/09/09 22:41:46 2021/09/09
【摘要】 示例代码 File fileDir = new File(this.getServletContext().getRealPath( "/upimg")); if (!fileDir.exists()) { fileDir.mkdir...

示例代码


  
  1. File fileDir = new File(this.getServletContext().getRealPath(
  2. "/upimg"));
  3. if (!fileDir.exists()) {
  4. fileDir.mkdirs();
  5. }
  6. int inmaxPostSize = 10 * 1024 * 1024;
  7. MultipartRequest multirequest = null;
  8. try {
  9. multirequest = new MultipartRequest(request, fileDir
  10. .getAbsolutePath(), inmaxPostSize, "utf-8"); // utf-8中文编码模式上传文件
  11. String name = multirequest.getParameter("name");// 获取普通信息
  12. String typeCode = multirequest.getParameter("typeCode");
  13. String info = multirequest.getParameter("info");
  14. String newImgPath = "";
  15. Enumeration<String> filedFileNames = multirequest
  16. .getFileNames();
  17. String filedName = null;
  18. if (null != filedFileNames && name != null
  19. && !name.trim().equals("") && info != null
  20. && !info.trim().equals("")) {
  21. while (filedFileNames.hasMoreElements()) {
  22. filedName = filedFileNames.nextElement();// 文件文本框的名称
  23. // 获取该文件框中上传的文件,即对应到上传到服务器中的文件
  24. File uploadFile = multirequest.getFile(filedName);
  25. if (null != uploadFile && uploadFile.length() > 0) {
  26. String imgPath = uploadFile.getName();
  27. //imgPath为原文件名
  28. int idx = imgPath.lastIndexOf(".");
  29. //文件后缀
  30. String extention= imgPath.substring(idx);
  31. java.util.Date dt = new java.util.Date(System
  32. .currentTimeMillis());
  33. SimpleDateFormat fmt = new SimpleDateFormat(
  34. "yyyyMMddHHmmssSSS");
  35. String time = fmt.format(dt);
  36. //新的文件名(日期+后缀)
  37. newImgPath = time + extention;
  38. File f = new File(fileDir + "/" + newImgPath);
  39. uploadFile.renameTo(f);
  40. }
  41. }
  42. Products products = new Products();
  43. products.setpName(name);
  44. products.setInfo(info);
  45. products.setImgPath(newImgPath);
  46. products.setTypeCode(typeCode);
  47. products.setPubDate(new Date());
  48. productsDao.addProducts(products);
  49. 。。。
  50. } else {
  51. 。。。
  52. }
  53. } catch (Exception e) {
  54. e.printStackTrace();
  55. }

 

 

 

 

 

文章来源: blog.csdn.net,作者:吾日三省贾斯汀,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/JustinQin/article/details/78542694

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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