首页 > 开发 > Java > 正文

Java上传文件错误java.lang.NoSuchMethodException的解决办法

2024-07-14 08:43:30
字体:
来源:转载
供稿:网友

错误详情:

java.lang.NoSuchMethodException: [Lorg.springframework.web.multipart.MultipartFile;.<init>()  at java.lang.Class.getConstructor0(Unknown Source)  at java.lang.Class.getDeclaredConstructor(Unknown Source)  at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104)  at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java:137)  at org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttribute(ServletModelAttributeMethodProcessor.java:80)

解决办法:在方法里加上参数注解 @RequestParam

这个错误是在使用wangEditor配置多文件上传的时候出现的,使用单个文件上传没有这个问题。

直接使用多文件上传一直报错,就用了单文件循环。

代码如下:

@RequestMapping(value="uploadFilesForWEditor",method={RequestMethod.GET,RequestMethod.POST})  @ResponseBody  public static Map<String,Object> uploadFilesForWEditor(@RequestParam("files")MultipartFile[] files,HttpServletRequest request,HttpServletResponse response){    Map<String,Object> map=new HashMap<>();    List<String> url = new ArrayList<>();    for (int i = 0; i < files.length; i++) {      String result=FileUploadUtils.fileUpload(files[i], request, response);      if(result!=""){        url.add(result);      }    }    if(url.size()>0){      map.put("errno",0);      map.put("msg","上传成功");      map.put("data",url);    }else{      map.put("errno",1);      map.put("msg","上传失败");      map.put("data",url);    }    return map;  }

FileUploadUtils:

public static String fileUpload(MultipartFile file,HttpServletRequest request,HttpServletResponse response){    //获取图片的原名字    String oldName=file.getOriginalFilename();    String timeName=System.currentTimeMillis()+"_";    String newName=timeName+oldName;      //获取项目的路径 在项目路径下新建文件夹    String path= "D:/uploadFile";    //新建 uploadFile 文件夹    File parentPath=new File(path);    if(!parentPath.exists()){      parentPath.mkdirs();    }    String src="";    try {      file.transferTo(new File(parentPath,newName));      File theFile=new File(parentPath+"/"+newName);      if(theFile.exists()){        //拼接图片的相对路径作为URL        src="/"+newName;      }else{        src="";      }    } catch (IllegalStateException e) {      e.printStackTrace();    } catch (IOException e) {      e.printStackTrace();    }    return src;  }

记录错误。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对VeVb武林网的支持。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表