jfianl getFile()上传pdf文件时报错

image.png

评论区

zhbs_钟楠

2019-04-11 19:06

有人知道吗

杜福忠

2019-04-11 21:51

@zhbs_钟楠 这个异常我没见过, 不过可以给几个点,去排查:
https://www.jfinal.com/doc/3-7
3.7 getFile文件上传
Controller提供了getFile系列方法支持文件上传。

特别注意:如果客户端请求为multipart request(form表单使用了enctype="multipart/form-data"),那么必须先调用getFile系列方法才能使getPara系列方法正常工作,因为multipart request需要通过getFile系列方法解析请求体中的数据,包括参数。同样的道理在Interceptor、Validator中也需要先调用getFile。

文件默认上传至项目根路径下的upload子路径之下,该路径称为文件上传基础路径。可以在 JFinalConfig.configConstant(Constants me)方法中通过me.setBaseUploadPath(baseUploadPath) 设置文件上传基础路径,该路径参数接受以”/”打头或者以windows磁盘盘符打头的绝对路径,即可将基础路径指向项目根径之外,方便单机多实例部署。当该路径参数设置为相对路径时,则是以项目根为基础的相对路径。

还有常见错误的是没有 导入 jar包

zhbs_钟楠

2019-04-12 10:06

@杜福忠 是最先getFile的,其他格式的文件都没问题,就pdf报错了

杜福忠

2019-04-12 10:21

@zhbs_钟楠 换个PDF文件试试, 有拦截器做了文件类型验证?

zhbs_钟楠

2019-04-12 11:36

@杜福忠 好像找到问题了,我在页面上是先ajax请求一个action创建一个对象然后成功后再调用ajax上传图片,这样子不行。。。

JFinal

2019-04-12 15:40

@zhbs_钟楠 上传文件功能是不区分文件类型的,仔细排查

热门反馈

扫码入社