我使用后端java的Jquery文件上传。 我得到了
if(ServletFileUpload.isMultipartContent(request) is true.
但
List<FileItem> items = uploadHandler.parseRequest(request);
返回空。我之前没有访问过请求参数。
我谷歌搜索它,发现在web.xml中从/*
更改为/*.action
将解决问题。但是通过这个改变,struts2项目没有运行。
答案 0 :(得分:1)
这种变化毫无意义,两个值(*/
和/*.action
)都是错误的,它应该是/*
。
你永远不应该自己解析一个多部分请求,特别是当有像Apache Commons FileUpload这样的工具时,你很可能比你更好。 Quoting BalusC:
解析此类流需要有关如何指定和构造多部分表单数据请求的精确背景知识。要创建一个完美的多部分解析器,您必须编写大量代码。但幸运的是,Apache Commons FileUpload已经证明了它多年来的强大功能。
Struts2已经处理过了。您只需要了解文件上载过程在Struts2中的工作原理。
首先尝试with a single file in an <s:file/>
element,然后with multiple files in a <s:file/>
,最后将 Blueimp的jQuery-File-Upload 添加到等式中。
请注意,对于外部库,可能需要进行少量修改,like in the case of Dropzone.js(拖放上传器)。