action的changePhoto()函数处理文件上传,其中savePath已经在struts.xml中指定好了
public String changePhoto()throws Exception{
FileInputStream is = new FileInputStream(file);
File destFile = new File(savePath,fileFileName);
FileOutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
int length = 0;
while((length = is.read(buffer)) > 0){
os.write(buffer,0,length);
}
is.close();
os.close();
return SUCCESS;
}
前台也设置取得上传文件的文件名和类型
<s:property value = "fileFileName"/>
<s:property value = "fileContentType"/>
当我运行程序时后台没有报错 前台也正确取得了上传文件的文件名和类型
但是在指定的文件夹里却找不到我上传的文件 这是怎么回事
public String changePhoto()throws Exception{
FileInputStream is = new FileInputStream(file);
File destFile = new File(savePath,fileFileName);
FileOutputStream os = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
int length = 0;
while((length = is.read(buffer)) > 0){
os.write(buffer,0,length);
}
is.close();
os.close();
return SUCCESS;
}
前台也设置取得上传文件的文件名和类型
<s:property value = "fileFileName"/>
<s:property value = "fileContentType"/>
当我运行程序时后台没有报错 前台也正确取得了上传文件的文件名和类型
但是在指定的文件夹里却找不到我上传的文件 这是怎么回事
解决方案 »
- 有一个报表问题想请教大家
- 线程同步问题
- 谁帮我看下这个异常,是什么意思。(主要发生在JDBC连接MYSQL)急!!
- jfreechart如何时配置啊
- 大家帮我看一下JSP的问题
- spring+struts的有关问题,请高手指点。
- 请教:java代码混淆器的问题
- 一个程序里做多个SOCKET连接,如果第一个连接不上,后面的就不进行了, 为什么?有经验的同仁来看!
- 怎么安装ldap 阿
- Jbuilder7中,在EJB打包进Module的过程中,Local Home Interface 和 Local Interface指什么?(答案正确,立即给高分)
- struts2文件上传路径问题
- 已经工作的大虾们进,给没工作的小弟一点建议(来者有分)
可是发现了新问题 我在struts.xml中把savePath设置为"\photo"
<param name="savePath">/photo</param>
action中对应的语句为
public String getSavePath()throws Exception{
return ServletActionContext.getServletContext().getRealPath(savePath);
}
public void setSavePath(String savePath) {
this.savePath = savePath;
}
按理应该上传至WebContent文件夹下的photo文件夹中(我的jsp页面也处于WebContent文件夹下) 但是却上传到了我的E盘的根目录下的photo文件夹里同时我在一个show.jsp页面中有如下语句
<img src="photo/5.jpg" />
其中show.jsp页面与photo文件夹处于同一文件夹下(都处于WebContent文件夹下) 但是页面上显示不出来图片
只有我把绝对路径输入
<img src="E:\a\J2EE\workspace\DemoSNS\WebContent\photo\5.jpg" />
页面才能显示出图片来 实在不理解这是怎么回事
如果你是用IDE自带的Tomcat那么在运行jsp的时候会加载到Tomcat中。这时你用相对路径就要注意了!!
一般在测试的时候你就写绝对路径。等到项目完成之后部署到服务器时再去配置相对路径。