Struts2上传图片路径问题
先把这个方法贴出来
/**
* 保存图片信息
* @throws IOException
*/
public void savePic(){
List<File> files= getUpload();
List<String> ufn = getUploadFileName();
if(files!=null && files.size()>0 ){
for(int i=0;i<files.size();i++){
FileOutputStream fos = null;
String name = System.currentTimeMillis()+this.getExtention(ufn.get(i));
String imageName = ServletActionContext.getServletContext().getRealPath(getSavePath())+"\\"+name;//文件真实路径
String url=getSavePath()+"\\"+name; //保存到数据库
//String imageName =ServletActionContext.getRequest().getContextPath()+"\\WebRoot"+getSavePath()+"\\"+name;
//String isds = System.getProperty("user.dir");
System.out.println(ServletActionContext.getRequest().getRealPath("\\"));
//输出的是 F:\chenghuWorkspace\apache-tomcat-6.0.18\webapps\mms\
byte[] buffer = new byte[1024];
try {
fos = new FileOutputStream(imageName);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileInputStream fis = null; //将文件转成输入流
try {
fis = new FileInputStream(files.get(i));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int len=0;
try {
while((len=fis.read(buffer))>0){
fos.write(buffer,0,len);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//图片信息的保存
project.setProjectImage(url);
if(myImageName.get(i)!=null && !myImageName.equals("")){
project.setImageName(myImageName.get(i));
}
}
}else if(myImageName!=null && myImageName.size()>0){
project.setImageName(myImageName.get(0));
}
红色部分取到的是tomcat下的路径,虽然可以保存成功,但若项目重新发布下,里面的文件就全没了
绿色部分取到的是项目路径,而并没有一个完整的项目路径,流写不进去
请问下如果想把上传文件保存到该项目的文件下 应该如何获取项目完整路径呢。
希望高手能指点下.