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

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

示例代码


      File fileDir = new File(this.getServletContext().getRealPath(
                         "/upimg"));
                 if (!fileDir.exists()) {
                      fileDir.mkdirs();
                  }
                 int inmaxPostSize = 10 * 1024 * 1024;
                  MultipartRequest multirequest = null;
                 try {
                      multirequest = new MultipartRequest(request, fileDir
                              .getAbsolutePath(), inmaxPostSize, "utf-8"); // utf-8中文编码模式上传文件 
                      String name = multirequest.getParameter("name");// 获取普通信息 
                      String typeCode = multirequest.getParameter("typeCode");
                      String info = multirequest.getParameter("info");
                      String newImgPath = "";
                      Enumeration<String> filedFileNames = multirequest
                              .getFileNames();
                      String filedName = null;
                     if (null != filedFileNames && name != null
                              && !name.trim().equals("") && info != null
                              && !info.trim().equals("")) {
                         while (filedFileNames.hasMoreElements()) {
                              filedName = filedFileNames.nextElement();// 文件文本框的名称 
                             // 获取该文件框中上传的文件,即对应到上传到服务器中的文件 
                              File uploadFile = multirequest.getFile(filedName);
                             if (null != uploadFile && uploadFile.length() > 0) {
                                  String imgPath = uploadFile.getName();
                                 //imgPath为原文件名 
                                 int idx = imgPath.lastIndexOf(".");
                                 //文件后缀 
                                  String extention= imgPath.substring(idx);
                                  java.util.Date dt = new java.util.Date(System
                                          .currentTimeMillis());
                                  SimpleDateFormat fmt = new SimpleDateFormat(
                                 "yyyyMMddHHmmssSSS");
                                  String time = fmt.format(dt);
                                 //新的文件名(日期+后缀) 
                                  newImgPath = time + extention;
                                  File f = new File(fileDir + "/" + newImgPath);
                                  uploadFile.renameTo(f);
                              }
                          }
                          Products products = new Products();
                          products.setpName(name);
                          products.setInfo(info);
                          products.setImgPath(newImgPath);
                          products.setTypeCode(typeCode);
                          products.setPubDate(new Date());
                          productsDao.addProducts(products);
                          。。。
                      } else {
                          。。。
                      }
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
  
 

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

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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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