zoukankan      html  css  js  c++  java
  • java利用MultipartRequest的getFileName方法不能得到原文件名问题

    想利用MultipartRequest的getFileName方法来一次获取多个上传的文件名字时,得到的不是文件的名字,而是 input 的name属性

    最后找到了答案,解决方法,参照http://stackoverflow.com/questions/13946859/retrieve-the-file-name-while-using-file-type-input

    原来的代码

       @RequestMapping(value = {"multipleFileUpload"}, method =  {RequestMethod.GET, RequestMethod.POST})
        public  String multipleFileUpload(
                ModelMap modelMap,
                MultipartHttpServletRequest request,
                HttpServletResponse response) throws IOException {
            Iterator<String> itr =  request.getFileNames();
            while(itr.hasNext()){
                String str = itr.next();    //这个文件并不是原来的文件名
                multipartFile = (CommonsMultipartFile)request.getFile(str);
                MultipartFile mpf = request.getFile(str);
                InputStream is = mpf.getInputStream();
                byte[] bytes = IOUtils.toByteArray(is);
                CompressWorker worker = new CompressWorker(statusMap, bytes, str, compressSize, jobId);
                worker.start();
            }
            modelMap.addAttribute("json", new ReturnMap("线程已经启动"));
            return "json";
        }
    

      

    修改后的代码

       @RequestMapping(value = {"multipleFileUpload"}, method =  {RequestMethod.GET, RequestMethod.POST})
        public  String multipleFileUpload(
                ModelMap modelMap,
                MultipartHttpServletRequest request,
                HttpServletResponse response) throws IOException {
            CommonsMultipartFile multipartFile = null;
            Iterator<String> itr =  request.getFileNames();
            while(itr.hasNext()){
                String str = itr.next();
                multipartFile = (CommonsMultipartFile)request.getFile(str);
                String fileName = multipartFile.getOriginalFilename();   //原文件名
                MultipartFile mpf = request.getFile(str);
                InputStream is = mpf.getInputStream();
                byte[] bytes = IOUtils.toByteArray(is);
                CompressWorker worker = new CompressWorker(statusMap, bytes, fileName, compressSize, jobId);
                worker.start();
            }
            modelMap.addAttribute("json", new ReturnMap("线程已经启动"));
            return "json";
        }
    

      

  • 相关阅读:
    菜吉の骗分导论
    P3527 [POI2011]MET-Meteors 整体二分
    整体二分
    P5459 [BJOI2016]回转寿司 cdq分治
    P3810 【模板】三维偏序(陌上花开) cdq分治
    cdq分治:从归并到cdq套cdq
    KDtree 详解
    查看.a和so文件接口
    机器学习 ONNX Model Zoo
    剖析依赖属性
  • 原文地址:https://www.cnblogs.com/qianxinxu/p/6526552.html
Copyright © 2011-2022 走看看