如表题
由于multipart/form-data表单提交的数据在request取不到数据,需要从nutmap中获取。
5 回复
拿不到, 你需要在AdaptorProcessor之后插入一个动作链处理器.
参考: http://nutzbook.wendal.net/dev_prepare/action_chain.html
我能想的是在AdaptorProcessor后增加一个Process,用于将request做upgrade处理,使request.getParamter方法能解析到multipart数据。但是感觉这样挺不优雅的。
大致逻辑是:
if (isFormField()) {
//普通表单不做处理
} else {
//读取inputstream并解析(可以参照apache的FileUpload的实现)。
}
@wendal
刚发现我解析了request流之后,fastuploading再读就读不出来了。
拿不到, 你需要在AdaptorProcessor之后插入一个动作链处理器.
参考: http://nutzbook.wendal.net/dev_prepare/action_chain.html
你说的方法具体如何处理,处理后如何在ActionFilter中拿到,能给个demo吗?
@xwqiang 恩, 流只能读取一次, 比较蛋疼
这样改一下:
- 首先, 用FastUploading读取之后, 把整个返回值放在req中, 例如 req.setAttr("_nutz_upload", xxxObj); 中
- 然后, 做一个UploadAdaptor子类,覆盖getReferObject方法, 在里面判断req中是否有_nutz_upload,如果有就返回该值,没有就交回给超类处理
- 最后, 引用UploadAdaptor的地方,全改成自定义的UploadAdaptor子类
添加回复
请先登陆