技术标签: JavaWeb
第一次使用Postman上传图片时,发现如下错误:
{
"timestamp": 1527988771742,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.web.multipart.MultipartException",
"message": "The current request is not a multipart request",
"path": "/uploadImage/"
}
如图:
IDEA显示如下:
org.springframework.web.multipart.MultipartException: The current request is not a multipart request
at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.assertIsMultipartRequest(RequestParamMethodArgumentResolver.java:216) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.resolveName(RequestParamMethodArgumentResolver.java:167) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:90) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:99) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:161) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:128) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:832) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:743) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:961) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:895) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:869) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) ~[spring-webmvc-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-embed-websocket-8.0.33.jar:8.0.33]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) ~[tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502) [tomcat-embed-core-8.0.33.jar:8.0.33]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458) [tomcat-embed-core-8.0.33.jar:8.0.33]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-
8.0.33.jar:8.0.33]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
解决办法:
@RequestMapping(path = {"/uploadImage/"}, method = {RequestMethod.POST})
@ResponseBody
public String uploadImage(@RequestParam("file") MultipartFile file) {
....
}
根据上传的字段给Key加上file(由于代码中使用的参数字段为file)
来到第二个学习日!我们来了解一些java的基础开发知识!!Java中的开发工具:系统自带的记事本: 优点: 不用安装 系统自带 缺点: 没有提示 没有颜色变化,没有行号 增强型记事本: notepad++ Editplus 优点:有高亮显示的代码 有颜色区分,有少量提示,有行号 缺点:提示功能不够强大,不利于构建大型的项目 集成的开发平台 eclipse:开源免费 对插件的兼容性不是特别好 MyEclipse: 收费 IDEA:收...
研究了一下午,最后把Android Studio全部卸载,重新安装了一下就可以正常安装SDKAndroid Studio在第一次打开的时候会初始化一些配置,出于一些意外会初始化失败。以下是正常的,列表的全部都要打勾。之前是失败的情况是列表死活打不上勾,一定要把勾勾打上才能正常安装,不然会失败,打不上勾的话就删了重新安装一下...
//循环录入某学生 5 门课的成绩并计算平均分, //如果某分数录入为负,停止录入并提示录 //入错误 public static void test6(){ Scanner sc = new Scanner(System.in); int socre = 0; //平均分 int sum = 0; //计算和 for(int i = 1;i<=5;i++){ ...
/deep/ .ivu-input-group-prepend{ border: 0; background-color:transparent;}
问题描述输入一手牌的时候,如果牌的顺序时混乱的,或者并不是按扑克牌大小排序,对后面的比较大小和出牌顺序会造成一些麻烦,所以当遇到扑克牌问题的时候首先是要给扑克牌排序。首先最容易想到的是暴力法:遍历数组n次,每次找相应大小牌的个数。Tips: 这里不能直接用Arrays.sort()排序,因为这个方法排序的根据是ascii码而不是扑克大小规则。 ...
作为一个初学者,好像什么都不懂哦!但是,我感觉已经深深地刻入了我的心中,因为它在代码中真的是随处可见!我百度了一番,翻译是,真的是很可爱了!所以,庞大的就好像一个变形金刚,是组装起来的。说正经的,中的的概念是非常广泛的,它不仅是ui元素,也可以是一些功能性的组件:比如手势检测的,用于主题数据传递的等等。...
最近的旅游度假项目,需要用到微信支付,因为我们是在微信公众号里面,通过H5页面进行微信支付,因此用到的微信支付是:公众号微信支付,也称作jsAPI微信支付。至于,微信支付的接口,请看我的另外一篇博客http://www.cnblogs.com/chaojidan/p/4503878.html。微信支付要做的三步:第一步:获取客户的微信号对应的唯一openID。第二步:通过此openID,调
每个人都熟悉这种作息规律:早上9点去上班,坐在电脑前面,编一天的程序,下午5点下班回家。如今,非常感谢蒂莫西·费里斯 (Timothy Ferriss)的《每周工作4小时》,我开始重新思考应该如何工作,如何让自己变成更有效率的程序员。最近,我把我的从周一到周五的作息规律做了一次较大的调整。很长时间以来,我一直像所有其他程序员那样工作、休息。但就在2011年的下半年,我开 始了一项试验,想看看究
error LNK2005 的一点拙见很多写c++的都碰到过LNK2005的问题,而且是伴随着LNK1169出现。结合网上资料,出这个问题的可能性很多,但是这里我只讨论一种!头文件中定义了全局变量或者函数**注意:是定义,不是声明。**在.h文件中定义变量和函数本身没有问题。但是如果你的.h被2个及以上的cpp引用了。或者"另一个.h"引用了这个头文件,而"另一个.h"又被多个cpp引用。都...
今天早上在知乎上看到“如何学好MATLAB”问题中白小鱼的回答(链接https://www.zhihu.com/question/20111076/answer/757537410)让我想到了一些别的东西。一般大的软硬件厂商都有对应的官方文档,案例,社区 ,培训等。如MathsWork公司的MATLAB就有官方案例、网上视频与研讨会、社区交流(官方讨论社区MATLAB Answers、用户开发...
写文章除了插入代码以外,总是免不了需要流程图来介绍,显得直观易懂。以前在学校的时候用过graphviz来产生有向图数据,来测试算法。同样的工具也可以用来绘制精美的流程图,下面就Linux Mint环境下如何配置和使用graphviz做简单介绍。1. 安装emacs graphviz-dot-mode从这里graphviz-dot-mode下载graph-dot-mode.el,然后在.emacs中添