Struts2上传图片路径问题

zhangww1985 zhangww1985 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
先把这个方法贴出来
/**
* 保存图片信息
* @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下的路径,虽然可以保存成功,但若项目重新发布下,里面的文件就全没了
绿色部分取到的是项目路径,而并没有一个完整的项目路径,流写不进去
请问下如果想把上传文件保存到该项目的文件下 应该如何获取项目完整路径呢。
希望高手能指点下.
...全文
评论 18
收藏 已收藏
分享
返回顶部
zhangww1985
Java EE 67,535 成员 225,843 内容