• springmvc利用jqueryupload上传文件,后台处理方法


        public void importIdentifySchemeFile(Integer id,Integer type,HttpServletRequest request, HttpServletResponse response){
         

       PrintWriter out = null;
              try {
                  //初始化变量
                  InputStream stream = null;
                  String ret_fileName = null;//返回给前端已修改的文件名称
                  Map<String, Object> result = new HashMap<String, Object>();
               SkillIdentifyFile skillIdentifyFile = new SkillIdentifyFile();
                  String fileSrc;
                  String fileName;
                  File uploadedFile = null;
                  try {
                   
                      //设置字符集
                      request.setCharacterEncoding("UTF-8");
                      response.setContentType("text/html; charset=UTF-8");
                      out = response.getWriter();
                      if(id==null){
                 result.put("message", "方案不存在,不能上传");
                          out.print(new JSONObject(result).toString());
                          return;
                }
                      //获取文件流
                      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
                      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
                      MultipartFile multipartFile = null;
                      for (Map.Entry<String, MultipartFile> set : fileMap.entrySet()) {
                          multipartFile = set.getValue();//文件名
                      }
                      stream = multipartFile.getInputStream();

                      //初始化文件名,并定义上传文件
                      UUID uuid = UUID.randomUUID();
                       fileName = multipartFile.getOriginalFilename();//原始文件名
                      String suffix = fileName.substring(fileName.indexOf(".") + 1);
                     
                      ret_fileName = uuid.toString() + "." + suffix;
                   // 文件保存目录路径
                      String savePath = FileSystemConfig.getFileRootPath() + FILE_PATH;                
                      // 创建文件夹
                      File dirFile = new File(savePath);
                    
                      if (!dirFile.exists()) {
                          dirFile.mkdirs();
                      }
                      fileSrc = savePath + File.separator + ret_fileName;
                      uploadedFile = new File(fileSrc);
                      FileUtils.saveFile(uploadedFile, stream);
                  } catch (Exception e) {
                      //读写错误异常处理
                      result.put("message", e.getMessage());
                      out.print(new JSONObject(result).toString());
                      return;
                  } finally {
                      //资源关闭异常处理
                      try {
                          if (stream != null) {
                              stream.close();
                          }
                      } catch (Exception e) {
                          result.put("message", e.getMessage());
                          out.print(new JSONObject(result).toString());
                          return;
                      }
                  }
                    
                //初始化方案附件属性
                  skillIdentifyFile.setFile(FILE_PATH + ret_fileName);//下载路径
                  skillIdentifyFile.setName(fileName);//原始文件名
                  skillIdentifyFile.setUpdateTime(new Date(System.currentTimeMillis()));
                  skillIdentifyFile.setSkillidentifyId(id);
                  skillIdentifyFile.setType(type);
                    
                  //保存当前附件到数据库
                  skillIdentifyService.addSkillIdentifyFile(skillIdentifyFile);
                 
                      result.put("message", File_SUCCESS);
                      result.put("fileName", fileName);
                      out.print(new JSONObject(result).toString());
                 
              } finally {
                  //将信息返回
                  if (out != null) {
                      out.flush();
                      out.close();
                  }
              }
         }

  • 相关阅读:
    【BZOJ4318】OSU! 期望DP
    【BZOJ2956】模积和 分块
    【BZOJ4443】[Scoi2015]小凸玩矩阵 二分+二分图最大匹配
    【BZOJ2253】[2010 Beijing wc]纸箱堆叠 cdq分治
    【BZOJ3555】[Ctsc2014]企鹅QQ hash
    【BZOJ3238】[Ahoi2013]差异 后缀数组+单调栈
    【BZOJ2287】【POJ Challenge】消失之物 背包动规
    【BZOJ4517】[Sdoi2016]排列计数 组合数+错排
    【BZOJ4551】[Tjoi2016&Heoi2016]树 并查集
    【BZOJ2783】[JLOI2012]树 DFS+栈+队列
  • 原文地址:https://www.cnblogs.com/gtaxmjld/p/4330168.html
Copyright © 2020-2023  润新知