struts2多文件上传,当之选一个上传时,不能上传 struts2多文件上传,有2个文件域,当选择2个都传文件时,可以正常上传,当选择一个时不能上传文件,控制台输出content-type not allowed,应该是拦截器拦截到第二个文件域为空了请问怎么才能只选择一个文件域也能上传? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码如下 <form id="imageForm" method="post" action="image.action" enctype="multipart/form-data"> <input name="file" type=file value=''> <input type="submit" value="上传"> </form> 多文件htnl代码如下 <form id="imageForm" method="post" action="image.action" enctype="multipart/form-data"> <input name="file" type=file value=''> <input name="file" type=file value=''> <input type="submit" value="上传"> </form> //判断是否有上传文件boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { //得到项目所在外部容器 String filepath = this.getClass().getClassLoader().getResource("/").getPath(); String filepath_a = filepath.substring(0, filepath.length() - 16); //设置项目上传所在文件夹 String newfilepath = filepath_a+ "sc"; File dir = new File(newfilepath); if (!dir.exists()) { dir.mkdirs(); } // 文件名用时间戳来表示 long time = new Date().getTime(); String filename = time +""; String path = newfilepath + "/" + filename; //开始解析 FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); Iterator items = null; try { items = upload.parseRequest(request).iterator(); } catch (FileUploadException e1) { e1.printStackTrace(); } while (items.hasNext()) { FileItem item = (FileItem) items.next(); if (!item.isFormField()) { File uploadedFile = new File(path + item.getName()); try { item.write(uploadedFile); attaches.add(attach); } catch (Exception e) { //e.printStackTrace(); } } }需要有commons-fileupload 架包 和commons-io架包 如果多个文件上传1.action:文件域属性定义成List形式List<File> listFile;有get/set。2.页面file控件name使用listFile。 谢谢,我试下我定义的数组private File[] file; 是啊,没有判断,应该写个拦截器判断把,在action中不行 private File[] file;没有问题。 不可能没问题,我用的就不行啊,多文件域上传,只选择一个上传时不行啊提示content-type not allowed...,传不上去,我先要只选一个时也能上传 Listener线程安全问题。求大牛、大神讨论。 能否在网页上调用本地视频文件,并显示在网页上,bho可以做到吗? 用struts+hibernate+jsp做的小软件怎么加导航条啊 如何点击一个按钮,下载多个文件,不要window.open的 紧急求助!表格中的行列冻结! 有关转向的问题 如何在同一jsp页面中通过超链或按钮调用java函数 如何简单判断ResultSet的行数? 求救:请问如何用jsp连接数据库DB2,在下将感激不尽 apache+tomcat集群后button提交表单session失效奇怪问题 IP的理解问题 jsp页面里如何让多行文本框输入的值自动换行啊??????
enctype="multipart/form-data">
<input name="file" type=file value=''>
<input type="submit" value="上传">
</form>
enctype="multipart/form-data">
<input name="file" type=file value=''>
<input name="file" type=file value=''>
<input type="submit" value="上传">
</form>
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
//得到项目所在外部容器
String filepath = this.getClass().getClassLoader().getResource("/").getPath();
String filepath_a = filepath.substring(0, filepath.length() - 16);
//设置项目上传所在文件夹
String newfilepath = filepath_a+ "sc";
File dir = new File(newfilepath);
if (!dir.exists()) {
dir.mkdirs();
}
// 文件名用时间戳来表示
long time = new Date().getTime();
String filename = time +"";
String path = newfilepath + "/" + filename;
//开始解析
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
Iterator items = null;
try {
items = upload.parseRequest(request).iterator();
} catch (FileUploadException e1) {
e1.printStackTrace();
}
while (items.hasNext()) {
FileItem item = (FileItem) items.next();
if (!item.isFormField()) {
File uploadedFile = new File(path + item.getName());
try {
item.write(uploadedFile); attaches.add(attach);
} catch (Exception e) {
//e.printStackTrace();
}
}
}需要有commons-fileupload 架包 和commons-io架包
private File[] file;