JFinal如何开发文件上传接口呢

image.pngimage.png

API接口怎么也接不到数据,这是什么问题

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:775)



评论区

j1066783215

2017-11-23 13:11

文档有描述的 controller先用getFile()

JFinal

2017-11-24 17:43

在 jfinal 项目中添加上 cos.jar 包,在 controller 使用 getFile 系列的方法就可以了

jianggr

2017-12-01 08:49

@JFinal 这个问题主要是调用端Content-Type没有boundary导致的 如下是正确的内容Content-Type: multipart/form-data; boundary=rxU1IcP2kHsJVF37W5_8tRtSlAnB-KIhGP; charset=UTF-8

JFinal

2017-12-01 12:01

@jianggr 问题解决没?

jianggr

2017-12-01 13:37

马小酱

2019-09-21 21:23

@jianggr 问你解决了没的意思就是让你回复一下怎么回事......哎

jianggr

2019-09-22 21:45

@马小酱 我这个是安卓端调用的问题

马小酱

2019-10-08 16:44

我提交一个好使的版本,传递文件时需要有分片信息
收集form时用FormData,别用序列化的方法
提交时contentType: false,设置成false
提交一个我测试可用的方法
var formData = new FormData($("#form")[0]);
$.ajax({
url: "#(ctx)/common/file/save",
type: 'POST',
data: formData,
contentType: false,
processData: false,
success: function (retn) {
parent.layer.alert(retn.msg);
if(retn.state=="ok"){
parent.layer.closeAll('iframe'); //关闭所有的iframe层
}
},
error: function () {
toastr.error('服务器异常,请稍后再试!');
}
});

liangcheng2004

2019-10-23 21:08

出现问题的时候搜到楼主的问题,发现楼主并没有详细告知解决方式。刚刚问题解决了,特意又搜了一遍楼主的帖子,回复一下供大家参考:
问题发生的场景:客户端是Android,采用的okHttp进行文件上传;服务端使用的是JFinal提供上传接口,逻辑是用的UploadFile。上传文件时服务端报:Separation boundary was not specified错误。
问题的原因:okHttp文件上传有两种方式,要采用表单提交的那种方式才可以。即,builder.addFormDataPart()是关键。
客户端代码示例如下:
MultipartBody.Builder builder = new MultipartBody.Builder();
builder.setType(MultipartBody.FORM);
builder.addFormDataPart("file",files[0].getName(), RequestBody.create(MediaType.parse("multipart/form-data"),files[0]));
MultipartBody multipartBody = builder.build();
Request request = new Request.Builder().url(url).post(new ProgressRequestBody(multipartBody,listener)).build();
okHttpClient.newCall(request).enqueue(callback);

JFinal

2019-10-23 21:12

@liangcheng2004 非常感谢你的分享,文件上传好多人碰到客户端问题,你的分享很有价值

xiupi

2020-12-24 14:27

你好

xiupi

2020-12-24 14:27

想问一下如果是前后端分开的话,哟个axios传,要怎么才能消除这个错误呢?

热门反馈

扫码入社