zoukankan      html  css  js  c++  java
  • 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();
                  }
              }
         }

  • 相关阅读:
    Ubuntu 12.10 安装破解sublimetext 2
    封装一个类型转换的方法
    【转】CultureInfo中重要的InvariantCulture
    C# 36进制转10进制
    用泛型的IEqualityComparer<T>接口去重复项
    关于wamp启动是80端口被占用的问题详解(win7系统下WAMP 80端口被MicrosoftHTTPAPI/2.0占用的解决办法)
    Ubuntu 更改鼠标滚轮速度
    edge ctrl+c 复制不起作用
    centos 7 mysql8 安装和卸载
    Windows Terminal 终端 SSH连接centos7 linux
  • 原文地址:https://www.cnblogs.com/gtaxmjld/p/4330168.html
Copyright © 2011-2022 走看看