layui上传文件时,提示请求上传接口出现异常

在使用layui上传文件的时候,总是提示上传接口异常。

1、首先查看浏览器控制台的的网络显示,发现端口是500,说明是后台程序的问题。

2、然后百度,大多数的回答是:服务器返回值有问题。然后更改了不同类型的返回值。
下面是我改的两种代码:(layui默认的MultipartFile 的参数是file)

@RequestMapping("/uploadfile")
@ResponseBody
public JSONObject uploadfile(MultipartFile file) {
    System.out.println("你好..........");
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("success", 1);
    jsonObject.put("message", "上传成功");
    return jsonObject;
}
//返回Map结合
@RequestMapping("/uploadfile")
@ResponseBody
public Map<String, Object> uploadfile(MultipartFile file) {
    System.out.println("你好..........");
    Map map = new HashMap<String, Object>();
    map.put("msg", "error");
    map.put("code", 0);
    return map;
 }

3、上面的代码在控制台连“你好…”都输出不了,怎么可能是返回的参数的问题呢。

其实上面的两种返回方法都可以,直接返回字符串也没有什么问题
4、我想是不是MultipartFile file的问题呢,然后前端添加参数:field

var uploadInst = upload.render({
    elem: '#test1'
    , url: '/uploadfile'
    , field: 'editormd-image-file' //表单的name值
    .......

后端改成下面的代码,然而依旧报错。说明和field参数没有关系,其实使用默认的file接收就行。

@RequestMapping("/uploadfile")
@ResponseBody
public JSONObject uploadfile(@RequestParam(value = "editormd-image-file") MultipartFile file) {......};

5、既然是MultipartFile 的传参有问题,那我就把你删了吧。

@RequestMapping("/uploadfile")
@ResponseBody
public Map<String, Object> uploadfile() {
    System.out.println("你好..........");
    Map map = new HashMap<String, Object>();
    map.put("msg", "error");
    map.put("code", 0);
    return map;
 }

控制台输出:“你好…”。前端也有了返回值,服务器也不报500了。

6、发现是MultipartFile出了问题,是不是配置文件出了问题了呢?
一查发现,果然是MultipartFile出了问题,因为昨天我把springmvc.xml里MultipartFile的配置给删除了。之前运行的还能上传文件呢,结果突然不能上传了,怎么也没想到配置环境出了问题。
在springmvc.xml文件中添加下面代码就可以了。

<!--配置文件解析器对象-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="10485760"/>
</bean>
原文地址:https://www.cnblogs.com/mxxbc/p/14039009.html