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下的路径,虽然可以保存成功,但若项目重新发布下,里面的文件就全没了
绿色部分取到的是项目路径,而并没有一个完整的项目路径,流写不进去
请问下如果想把上传文件保存到该项目的文件下 应该如何获取项目完整路径呢。
希望高手能指点下.
/**
* 保存图片信息
* @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下的路径,虽然可以保存成功,但若项目重新发布下,里面的文件就全没了
绿色部分取到的是项目路径,而并没有一个完整的项目路径,流写不进去
请问下如果想把上传文件保存到该项目的文件下 应该如何获取项目完整路径呢。
希望高手能指点下.
...全文
相关推荐
CKEditor实现图片上传(使用Struts2)
CKEditor实现图片上传使用Struts2 博文参考地址:http://blog.csdn.net/itmyhome1990/article/details/17264627
java实现图片上传并显示
java实现图片上传到数据库并显示,利用Struts2和commons-fileupload-1.2.1.jar,代码调试通过 完美运行。
kindeditor编辑器与struts2上传图片错误冲突解决
该实例解决了kindeditor编辑器与struts2"上传错误"的问题,能够直接运行!
ueditor struts2图片上传问题解决办法
editor(通用所有文本编辑器) struts2图片上传问题解决办法
Struts2+ajax+json异步上传图片回显
ajax ajaxfileupload 异步上传图片回显


