• 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";
        }
    

      

  • 相关阅读:
    元素查找
    合并果子 2004年NOIP全国联赛普及组
    队列练习1,2,3
    山峰
    栈练习1,2,3
    天使之城
    括号序列
    布尔表达式
    逆波兰表达式
    旅行家的预算 1999年NOIP全国联赛普及组NOIP全国联赛提高组
  • 原文地址:https://www.cnblogs.com/qianxinxu/p/6526552.html
Copyright © 2020-2023  润新知