kevinma2010 / jfinal-api-scaffold

为APP开发HTTP API应用的脚手架模板,使用Java编写
MIT License
152 stars 88 forks source link

上传文件有问题 #3

Closed wmailn closed 8 years ago

wmailn commented 8 years ago

通过Volley上传文件以及通过from表单上传文件,均提示token为空,但是token确定已经提交了,并且获取用户资料等已经可以成功获取,不知道怎么解决。

kevinma2010 commented 8 years ago

@ZhanRu Token 验证的逻辑在 TokenInterceptor中,你在那里调试下

wmailn commented 8 years ago

非常感谢您的回复,昨天看遍了jfinal的文档,发现有以下文档:

3.5 getFile 文件上传 Controller 提供了 getFile 系列方法支持文件上传。 特别注意: 如果客户端请求为multipartrequest( form 表单使用了 enctype="multipart/form-data"),那么必须先调用 getFile 系列方法才能使 getPara 系列方法正常工作,因为 multipart request 需要通过 getFile 系列方法解析请求体中的数据,包括参数。

所以感觉可能在文件上传时,TokenInterceptor是无效的,于是自己新建了上传文件方法并加了@ClearInterceptor注释,然后将获取并检查Token的方法并将其放在了getFile之后,解决了这个问题。

按照文档的描述,您的上传文件那里应该是有问题,不知道是不是因为我把Maven项目改为了本地工程的原因,我将其导入Maven后提取出来对应的Jar包然后开发的,这种方式会造成这个现象吗?