在用springmvc+mybatis进行项目开发时,上传文件抛异常...

org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.web.multipart.MultipartFile]: Specified class is an interface
org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:101)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveModelAttribute(HandlerMethodInvoker.java:762)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:356)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

解决方法:在Controller的MultipartFile参数前面加上@RequestParam就行了!

如:

@RequestMapping("/save")
public String save(User user,
HttpServletResponse response,
@RequestParam MultipartFile file_pic//接收图片
)throws Exception{ //原始名称
String originalFilename = file_pic.getOriginalFilename();
//上传图片
if(file_pic!=null && originalFilename!=null && originalFilename.length()>0){
//存储图片的物理路径
String pic_path = "G:\\nfsysuems\\temp\\";
//新的图片名称
String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
//新图片
File newFile = new File(pic_path+newFileName);
//将内存中的数据写入磁盘
file_pic.transferTo(newFile);
//新图片写入user
user.setPic(newFileName);
}
.......

最新文章

  1. Oracle客户端简易连接报错ORA-12154,TNS-03505
  2. [BZOJ3173][Tjoi2013]最长上升子序列
  3. linux系统安装(下)
  4. 如何清除SQL Server Management Studio的最近服务器列表
  5. Mac下载安装Android Studio教程
  6. Java过滤器与SpringMVC拦截器之间的关系与区别
  7. WebRTC音视频引擎研究(1)--整体架构分析
  8. 【开源EFW框架】框架中自定义控件GridBoxCard使用实例说明
  9. kail-linux 安全之旅
  10. android 上传文件"Content-Type",为"application/octet-stream" 用php程序在服务端用$GLOBALS['HTTP_RAW_POST_DATA']接受(二)
  11. Xcode显示行号
  12. Angular 2.0 从0到1 (六)
  13. Knockoutjs官网翻译系列(二) Observable 数组
  14. 三分钟跑起jsblocks
  15. APP-FND-00676: 弹性域例程 FDFGDC 无法读取为此说明性弹性域指定的默认引用字段
  16. APIO 2014 回文串(Manacher+后缀自动机+倍增)
  17. [C] scanf - 格式输入函数
  18. adb命令查看app的日志
  19. Python学习---JSON补充内容[中文编码 + dumps解析]
  20. structs2的action实现方式

热门文章

  1. python+soket实现UDP协议的客户/服务端中文聊天程序
  2. Asp.net中使用缓存(cache)
  3. nginx反向代理解决wechat图片问题
  4. eclipse - 新建jsp页面默认模板设置
  5. [BZOJ4028][HAOI2015]公约数数列[分块+分析暴力]
  6. maven的pom文件报错: must be "pom" but is "jar"
  7. python json.dumps中文乱码
  8. 对RedisTemplate接口二次封装成自定义工具接口
  9. Python 从零搭建 Conf_Web 配置管理平台
  10. 5种处理js跨域问题方法汇总