我用的是Spring MVC,其中.do请求代码如下:
[code="java"]@SuppressWarnings("static-access")
@RequestMapping("/upFile.do")
public String upFile(String fromTable,String fromIdx,HttpServletRequest request,HttpServletResponse response){
log.info("fromTable="+fromTable+"&&&&&&&fromIdx==="+fromIdx);
try {
boolean flag =fileUp.doUploadFile(fromTable,fromIdx,request,response)//处理 if(flag){
json.backJsonToHTML(response, BaseAction.ENCODING, "success");
}else{
json.backJsonToHTML(response, BaseAction.ENCODING, "fail");
}
} catch (Exception e) {
e.printStackTrace();
json.backJsonToHTML(response, BaseAction.ENCODING, "fail");
}
return null;
}[/code]
[code="java"]然后再在另一个类中处理:
@SuppressWarnings("unchecked")
public boolean doUploadFile(String fromTable,String fromIdx,HttpServletRequest request,HttpServletResponse response)throws ServletException, Exception{
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding(encoding);
List<FileItem> items = upload.parseRequest(request);
logger.info("获得的文件个数为:"+items.size()); //打印items.size()==0
//其他代码省略......
}[/code]
我表单中的input file是用js动态生成的,用alert打印也是对的。表单属性也设置enctype="multipart/form-data" method="post"了。但是每次都打印items.size()==0,好急啊!
起初我担心是不是我js动态生成input的时候是不是出现了错误,我这次是把form中的文本控件写死的:
[code="java"]
文件1:
文件2:
文件3:
[/code]
我按照上面的表单测试,还是不行。
我在web.xml配置为:
[code="java"] <!-- 核心 servlet 用于对于客户端的请求进行转发 -->
dsreliweb
org.springframework.web.servlet.DispatcherServlet
2
dsreliweb
*.do
[/code]
[size=large][color=blue]
求求大家帮助,谢谢!!![/color][/size]