Spring CommonsMultipartResolver文件上传的使用

来源:互联网 发布:文华财经交易软件 编辑:程序博客网 时间:2024/05/17 22:35

Java代码      ...Controller...{        //创建一个通用的多部分解析器.     CommonsMultipartResolver commonsMultipartResolver = new   CommonsMultipartResolver(request.getSession().getServletContext());  //设置编码     commonsMultipartResolver.setDefaultEncoding(”utf-8″);   //判断 request 是否有文件上传,即多部分请求...   if (commonsMultipartResolver.isMultipart(request))     {        //转换成多部分request        MultipartHttpServletRequest multipartRequest =             commonsMultipartResolver.resolveMultipart(request);        // file 是指 文件上传标签的 name=值      // 根据 name 获取上传的文件...      MultipartFile file = multipartRequest.getFile("file");          //上传后记录的文件...         File imageFile = new File("fileName");      //上传...      file.transferTo(imageFile);         }    }

jsp代码

<form name="form1"   method="POST" enctype="multipart/form-data"             action="/msgupload" target="upload_if">      <button class="btn btn-primary able" name = "btnporject" id="queryfa"            type="button" style="float: inherit;"/>请选择要上传的文件: <input type="file" name="file"><input type="submit" id="sub" class="btn btn-primary" value="上传"><iframe name='upload_if' id="hidden_frame" style='display:none'></iframe></form>

java代码

@RequestMapping(value = "/msgupload", method = RequestMethod.POST)public String handleFileUpload(Model model, @RequestParam("file") MultipartFile file, HttpServletRequest request,HttpServletResponse response) {try{if (!file.isEmpty()) { // 创建一个通用的多部分解析器.CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());// 判断 request 是否有文件上传,即多部分请求...if (multipartResolver.isMultipart(request)) {// 判断 request 是否有文件上传,即多部分请求...MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) (request);Iterator<String> iter = multiRequest.getFileNames();while (iter.hasNext()) {MultipartFile file1 = multiRequest.getFile(iter.next());String fileName = file1.getOriginalFilename();String ftp_id = System.currentTimeMillis();Properties propsFile = new Properties();InputStream in = null;String path1 = Thread.currentThread().getContextClassLoader().getResource("").getPath();in = new BufferedInputStream(new FileInputStream(path1 + "ftpcontrol.properties"));propsFile.load(in);String path = propsFile.getProperty("upload_path") + ftp_id + ".zip";File localFile = new File(path);if (!(fileName.contains("zip"))) {......} else {// 上传文件file1.transferTo(localFile);int count = msgSendService.unZip(localFile);if(count == 0) {......}......}}}} else {......}}catch(Exception e) {......}......}


0 0
原创粉丝点击