struts2上传文件,第一次上传成功,第二次上传失败 20
错误提示:java.io.FileNotFoundException:Source'F:\webproject\.metadata\.me_tcat\work\Catal...
错误提示:java.io.FileNotFoundException: Source 'F:\webproject\.metadata\.me_tcat\work\Catalina\localhost\donation\upload_6bc5243c_1415f40a106__8000_00000000.tmp' does not exist
org.apache.commons.io.FileUtils.copyFile(FileUtils.java:767)
org.apache.commons.io.FileUtils.copyFile(FileUtils.java:731)
com.caihua.action.NewsAdd.imgLoad(NewsAdd.java:61)
....
处理上传的函数:
public String imgLoad() throws Exception{
String realpath = ServletActionContext.getServletContext().getRealPath("/images/postImg");
if (image != null) {
File savefile = new File(new File(realpath), imageFileName);
if (!savefile.getParentFile().exists())
savefile.getParentFile().mkdirs();
FileUtils.copyFile(image, savefile);
imageFileName="/donation/images/postImg/"+imageFileName;
}
return "success";
}
我最后发现,如果第一次提交”1.jpg“,imageFileName的值为1.jpg;第二次提交”2.jpg“,imageFileName的值会变成”1.jpg , 2.jpg“相当奇怪!而且就算我自己将imageFileName的值处理为2.jpg,仍然会有上述错误。我怀疑File的值也出错了。
大神,求教啊!!
JSP中:
<s:form action="load" method="post" enctype="multipart/form-data">
<s:file label="上传图片" name="image"></s:file>
<s:submit value="submit"></s:submit>
</s:form>
aciton的声明:
private File image;
private String imageFileName; //文件名称
action的函数已经放在上面了 展开
org.apache.commons.io.FileUtils.copyFile(FileUtils.java:767)
org.apache.commons.io.FileUtils.copyFile(FileUtils.java:731)
com.caihua.action.NewsAdd.imgLoad(NewsAdd.java:61)
....
处理上传的函数:
public String imgLoad() throws Exception{
String realpath = ServletActionContext.getServletContext().getRealPath("/images/postImg");
if (image != null) {
File savefile = new File(new File(realpath), imageFileName);
if (!savefile.getParentFile().exists())
savefile.getParentFile().mkdirs();
FileUtils.copyFile(image, savefile);
imageFileName="/donation/images/postImg/"+imageFileName;
}
return "success";
}
我最后发现,如果第一次提交”1.jpg“,imageFileName的值为1.jpg;第二次提交”2.jpg“,imageFileName的值会变成”1.jpg , 2.jpg“相当奇怪!而且就算我自己将imageFileName的值处理为2.jpg,仍然会有上述错误。我怀疑File的值也出错了。
大神,求教啊!!
JSP中:
<s:form action="load" method="post" enctype="multipart/form-data">
<s:file label="上传图片" name="image"></s:file>
<s:submit value="submit"></s:submit>
</s:form>
aciton的声明:
private File image;
private String imageFileName; //文件名称
action的函数已经放在上面了 展开
4个回答
展开全部
你这个问题后来是怎么解决的啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有可能是tomcat没有刷新,你删除掉webpp下的项目,重新加载一次试试
追问
没有作用啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码贴出来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的 return "success" 这个success指定的JSP是哪个??如果还是上传文件的这个JSP的话, 你可以试试返回到另一个页面,看看结果是不是还是这样~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询