ajaxFileUpload文件上传时参数无法接收到。
@JFinal 你好,想跟你请教个问题:用ajaxFileUpload上传文件的时候,传递了参数{"c":"ccc","a":"aaa"}。但是在Controller中的request里面,_parameters是null。请求已经发过去了,参数也带过去了,就是没有接收得到。如果换成ajax只上传参数的话,也会接收到参数。之前paodding rose框架下ajaxFileUpload也是可以带参数的。请老大指点。多有叨扰,还望海涵.....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(17)
如果用的是struts2的话,过滤器会把这个过滤掉,因此web.xml文件中改成
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
我用的是spring mvc 在spring-mvc.xml配置文件加上<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />就可以了 ,如果传参没问题的话
我也遇到同样的问题,弄了半天终于找到了,controller那里 request 要变成MultipartHttpServletRequest的时候才可以取值,
遇到同样的问题,肿么解决的?
您好 我也遇到了这个问题,请问您是怎么解决的
回复
是ajaxfileupload.js文件有问题,需要修改
回复
怎么修改的?
你好楼主,现在我也遇到这个问题了,参数获取不到,请问你当时是怎么解决的?
回复
request 本来是Controller 中的一个属性,经由这个方法重写后,原controller 下的 request 属性在 getFile 后仍然没有变成 MultipartRequest,所以调用 getPara 时无法正确得到解析后的数据
回复
明白了,多谢老大!
public List<UploadFile> getFiles(String saveDirectory) {
HttpServletRequest request = getRequest();
if (request instanceof MultipartRequest == false)
request = new MultipartRequest(request, saveDirectory);
return ((MultipartRequest) request).getFiles();
}
我在BaseController中重写了getFiles(历史残留,现在没啥用)。里面有一句HttpServletRequest request = getRequest();可能是因为这个所以导致参数传不进来,但是不知道为什么,这个Controller.request和getRequest()应该是一个吧?
引用来自“JFinal”的评论
看一下控制台的 JFinal action report 信息中有一列 parameter ,如果传了参会在这里输出,如果没有就检查 js 是否写错了
控制台是没有输出的,但是用前端调试工具能够看到请求内容里面已经把请求的参数传过去了啊。毫无头绪......
回复
注意在 getPara 调用之前要先调用 getFile 方法,手册中有详细说明
回复
找到问题了,但是不知道原因,老大看我下面的评论,回复只能输入200字。谢谢
看一下控制台的 JFinal action report 信息中有一列 parameter ,如果传了参会在这里输出,如果没有就检查 js 是否写错了