Struts2 空文件上传 struts2 空文件上传的时候,就会报文件找不到的错误,如何解决。所谓空文件,就是文件大小时0的。java.io.FileNotFoundException: E:\webserver\ftp\upload__2b3c13fe_134e565d32c__7ffd_00000035.tmp (系统找不到指定的文件。)求解决办法目前的做法是在服务端我会去捕获这个异常,如果出现,就创建一个空文件,但这种做法感觉有点牵强,最好struts2能处理这种空文件,不报错 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是通过网页控件上传的,用HttpURLConnection 上传的 如果文件是0k的话,输入流好像是null啊,你可以先判断下吧?然后往里面填一些空格呗,这样文件大小就大于0了,然后就可以上传了 file标签名字是 f1的话。你在 Action能得到 f1FileSize, f1FileName, f1。看f1FileSize 我现在在做一个发邮件的功能,用户可以发带附件的,也可以发不带附件的邮件,如果第一次发了带附件的邮件,第二次再发不带附件的邮件就报跟你一样的错误,刚开始我写的条件是如果file != null就发邮件,后来想来半天又来我加上了file.length() != 0就好了 ,希望对你有帮助,反正我是解决了,呵呵,我把我代码贴出来if(file != null && file.length() > 9437184){ return INPUT; } String toNickname = email.getToNickname(); List<User> list = (List<User>)this.service.getUserBynickname(toNickname);//通过昵称获得收件人 email.setEmailDate(new Date());//获取发送邮件时间 email.setAddressee(list.get(0));//收件人 if(file == null){ this.service.sendEmail(email); }else if(file != null && file.length() != 0){ System.out.println("上传文件!"); if(file.length() > 9437184){ return INPUT; } /* * 发送邮件附件 */ email.setEmailFileName(fileFileName); this.service.sendEmail(email); int userid = (Integer)ServletActionContext.getRequest().getSession().getAttribute("userid");//当前登录用户的ID int emailid = email.getId();//邮件的ID String path = "/emailFiles/" + userid + "/" + emailid; String realPath = ServletActionContext.getServletContext().getRealPath(path);//邮件附件保存的真实路径 File savedir = new File(realPath); if(!savedir.exists()){//如果目录不存在就创建目录 savedir.mkdirs(); } File savefile = new File(savedir,fileFileName); FileUtils.copyFile(file, savefile); } CXF WebService调用问题,请教大家 hibernate的问题,请高手解答 web.xml 配置了 dispatcher FORWARD 使得struts2 标签不能用 出来吧!大牛们,诡异的问题出现啦!!!!!!!!! [急急急急急急急]jsp表格 一个结合JSTL和JSP表达式语言的经典问题(正) jsp如何获得当前页的网址 类似CSDN每行显示不同背景颜色该怎么写? 如此分页错在哪?? jsp如何上传文件,请给代码,解决立即给分(在线) 用java导出excel表格问题 java 针对 txt文本 输出流 输入流。
不是通过网页控件上传的,用HttpURLConnection 上传的
你在 Action能得到 f1FileSize, f1FileName, f1。
看f1FileSize
return INPUT;
}
String toNickname = email.getToNickname();
List<User> list = (List<User>)this.service.getUserBynickname(toNickname);//通过昵称获得收件人
email.setEmailDate(new Date());//获取发送邮件时间
email.setAddressee(list.get(0));//收件人
if(file == null){
this.service.sendEmail(email);
}else if(file != null && file.length() != 0){
System.out.println("上传文件!");
if(file.length() > 9437184){
return INPUT;
}
/*
* 发送邮件附件
*/
email.setEmailFileName(fileFileName);
this.service.sendEmail(email);
int userid = (Integer)ServletActionContext.getRequest().getSession().getAttribute("userid");//当前登录用户的ID
int emailid = email.getId();//邮件的ID
String path = "/emailFiles/" + userid + "/" + emailid;
String realPath = ServletActionContext.getServletContext().getRealPath(path);//邮件附件保存的真实路径
File savedir = new File(realPath);
if(!savedir.exists()){//如果目录不存在就创建目录
savedir.mkdirs();
}
File savefile = new File(savedir,fileFileName);
FileUtils.copyFile(file, savefile);
}