关于使用MyEclipse开发Struts2文件上传问题以及解决办法

2019-04-15 15:42发布

楼主在做Struts2练习时,因为使用的是MyEclipse开发,碰到上传的图片无法放置到编译器的指定目录
package action;


import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;


import org.apache.struts2.ServletActionContext;


import com.opensymphony.xwork2.ActionSupport;


public class UpLoadAction  extends ActionSupport{
private File pic;
private String picFileName;
private String picFileContentType;
public File getPic() {
return pic;
}
public void setPic(File pic) {
this.pic = pic;
}
public String getPicFileName() {
return picFileName;
}
public void setPicFileName(String picFileName) {
this.picFileName = picFileName;
}
public String getPicFileContentType() {
return picFileContentType;
}
public void setPicFileContentType(String picFileContentType) {
this.picFileContentType = picFileContentType;
}
public String execute(){
return INPUT;
}
public String Up(){
File sa=new File(ServletActionContext.getServletContext().getRealPath("/up/"),UUID.randomUUID()+picFileName);
InputStream in=null;
OutputStream out=null;
try{
sa.getParentFile().mkdir();
in=new FileInputStream(pic);
out=new FileOutputStream(sa);
byte [ ] b=new byte[1024];
int len=0;
while((len=in.read(b))!=-1){
out.write(b, 0, len);
}
out.flush();
in.close();
out.close();
}catch (Exception e) {
e.printStackTrace();
}




return "success";
}








}
配置如下





/success.jsp
/index.jsp




   
一个很简单的练习,但是,当上传图片时发现




提交是成功的,但是当楼主到MyEclipse中看时发现,






up文件夹是空的,没有任何文件,大部分用MyEclipse的新手都会碰到类似情况。
因为,你没有搞清楚,文件上传,上传到的是服务器,而不是开发工具下,在用MyEclipse开发,MyEclipse自己有一个专门存放上传文件的服务器目录文件
如下图


这是楼主的目录
点进.metadata→.me_tcat→WebApp你会发现有你在Tomcat上发布的项目,再去打开你存放图片的目录,图片就在里面了
此篇文章如有错误,还望批评指正,如有任何问题,可以在下方留言,谢谢