ajax post 上传文件 抛 Separation boundary was not specified 错误

在用jquery上传文件时,contentType设置为"multipart/form-data",但服务端报错


java.lang.RuntimeException: java.io.IOException: Separation boundary was not specified

at com.jfinal.upload.MultipartRequest.wrapMultipartRequest(MultipartRequest.java:126)

at com.jfinal.upload.MultipartRequest.<init>(MultipartRequest.java:68)

at com.jfinal.core.Controller.getFiles(Controller.java:815)

at com.jfinal.core.Controller.getFile(Controller.java:825)

at com.jz.controller.HaomaController.saveUserHaomaInfo(HaomaController.java:83)

at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:601)

at com.jfinal.aop.Invocation.invoke(Invocation.java:73)

at com.jfinal.core.ActionHandler.handle(ActionHandler.java:78)

at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:73)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

at org.ap



评论区

Joan

2018-05-24 15:38

@JFianl

JFinal

2018-05-24 16:03

上传文件的格式不对,换个 jQuery 版本试试

Joan

2018-05-24 18:01

谢谢 我换了个比较邻近的版本还是不行 有推荐的版本吗

Joan

2018-05-24 18:30

试了3个版本 1.8.3 1.9.1 1.10.2 都不行 请问有推荐的jquery版本吗

Joan

2018-05-25 14:28

Joan

2018-05-25 14:45

上传文件格式我看了下到服务器端的请求头为 multipart/form-data ,是不是其他哪里还需要设置什么

JFinal

2018-05-25 22:34

@Joan 本站的文件上传就是用的 ajax 文件上传,一点问题没有。

从异常来看是你的客户端上传的文件格式不对,如果你中间层用了 nginx 这类代理,要注意配置正确

91

2018-06-12 14:45

@Joan 问题解决了吗

李明明

2018-12-20 16:39

没有

李明明

2018-12-20 16:40

我也遇到了@JFinal 这是头
POST /user/setFile HTTP/1.1
Host: localhost:8080
Content-Type: multipart/form-data
cache-control: no-cache
Postman-Token: 86a47717-a9b5-43fc-a99f-652e7a644d18

风一样的机器人

2019-09-30 14:18

$.ajax({
url:'admin/info/infoHelp/modifyUpload',
dataType:'json',
type:'POST',
async: false,
data: formData,
contentType : false,
processData : false,
success: function(data){
console.log(data);
},
error:function(response){
console.log(response);
}
});

风一样的机器人

2019-09-30 14:20

contentType : false,
processData : false,

jfinal初识

2019-10-30 16:23

上传文件时候的Content-Type应该是这样的: multipart/form-data; boundary=----WebKitFormBoundaryf5mddJTAoYitRZBY,你的缺少了boundary,boundary是个分隔符,必须要传;找找原因为啥缺失了

热门反馈

扫码入社