上传图片到服务器,服务器保存并且接收到了,但是必须刷新文件夹或者重新部署文件才能在客户端显示图片
2017-08-13 13:14
1141 查看
今天遇到了很大一个BUG 研究了半天终于解决!
当你从客户端上传图片到服务器时候,服务器保存了并且接收到了所有数据,数据库也存了,但是必须刷新文件夹或者重新部署文件才能在客户端显示刚才的图片 以下是解决办法
注意!!!这句话才是获得webRoot下的upload文件夹 ServletActionContext.getServletContext().getRealPath("upload");
如果直接写绝对路径来存上传的图片 肯定要刷新下才能看到了://"E:/workspase/MyBatisAndStrutsAndSpring/WebContent/upload/";
解决方案: 就是我上面说的那样 上传图片直接换ServletActionContext.getServletContext().getRealPath("upload");来存到webRoot下的upload文件夹
不要写绝对路径 OK 问题解决!
服务器代码: 接收都没问题
public void zhuBo_insert() {
System.out.println(zhiBoEntity.getWangMing());
if(bigImg1==null){
System.out.println("bigImg is null");
}
if(touXiang1==null){
System.out.println("touXiang1 is null");
}
String dir=ServletActionContext.getServletContext().getRealPath("upload");
//"E:/workspase/MyBatisAndStrutsAndSpring/WebContent/upload/";
//ServletActionContext.getServletContext().getRealPath("upload");
System.out.println(dir);
//将图片放进去
File file=new File(dir,bigImg1FileName);
if(file.exists()){
file.mkdir();
}
try {
//彻底放进去....
FileUtils.copyFile(bigImg1, file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
File file1=new File(dir,touXiang1FileName);
try {
//彻底放进去....
FileUtils.copyFile(touXiang1, file1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// http://192.168.1.110:8080/MyBatisAndStrutsAndSpring/upload/test.png Zhibo_zhuBoPlay zhiBo=new Zhibo_zhuBoPlay();
zhiBo.setBiaoTi(zhiBoEntity.getBiaoTi());
zhiBo.setBigImg("http://192.168.3.105:8080/MyBatisAndStrutsAndSpring/upload/"+bigImg1FileName);
zhiBo.setLeShiId(zhiBoEntity.getLeShiId());
zhiBo.setTouXiang("http://192.168.3.105:8080/MyBatisAndStrutsAndSpring/upload/"+touXiang1FileName);
zhiBo.setUserCount(zhiBoEntity.getUserCount());
zhiBo.setWangMing(zhiBoEntity.getWangMing());
zhiBo.setZhiBoUrl(zhiBoEntity.getZhiBoUrl());
int rows=
dao.zhiBoInsert(zhiBo);
System.out.println(rows+":受影响行数");
}
当你从客户端上传图片到服务器时候,服务器保存了并且接收到了所有数据,数据库也存了,但是必须刷新文件夹或者重新部署文件才能在客户端显示刚才的图片 以下是解决办法
注意!!!这句话才是获得webRoot下的upload文件夹 ServletActionContext.getServletContext().getRealPath("upload");
如果直接写绝对路径来存上传的图片 肯定要刷新下才能看到了://"E:/workspase/MyBatisAndStrutsAndSpring/WebContent/upload/";
解决方案: 就是我上面说的那样 上传图片直接换ServletActionContext.getServletContext().getRealPath("upload");来存到webRoot下的upload文件夹
不要写绝对路径 OK 问题解决!
服务器代码: 接收都没问题
public void zhuBo_insert() {
System.out.println(zhiBoEntity.getWangMing());
if(bigImg1==null){
System.out.println("bigImg is null");
}
if(touXiang1==null){
System.out.println("touXiang1 is null");
}
String dir=ServletActionContext.getServletContext().getRealPath("upload");
//"E:/workspase/MyBatisAndStrutsAndSpring/WebContent/upload/";
//ServletActionContext.getServletContext().getRealPath("upload");
System.out.println(dir);
//将图片放进去
File file=new File(dir,bigImg1FileName);
if(file.exists()){
file.mkdir();
}
try {
//彻底放进去....
FileUtils.copyFile(bigImg1, file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
File file1=new File(dir,touXiang1FileName);
try {
//彻底放进去....
FileUtils.copyFile(touXiang1, file1);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// http://192.168.1.110:8080/MyBatisAndStrutsAndSpring/upload/test.png Zhibo_zhuBoPlay zhiBo=new Zhibo_zhuBoPlay();
zhiBo.setBiaoTi(zhiBoEntity.getBiaoTi());
zhiBo.setBigImg("http://192.168.3.105:8080/MyBatisAndStrutsAndSpring/upload/"+bigImg1FileName);
zhiBo.setLeShiId(zhiBoEntity.getLeShiId());
zhiBo.setTouXiang("http://192.168.3.105:8080/MyBatisAndStrutsAndSpring/upload/"+touXiang1FileName);
zhiBo.setUserCount(zhiBoEntity.getUserCount());
zhiBo.setWangMing(zhiBoEntity.getWangMing());
zhiBo.setZhiBoUrl(zhiBoEntity.getZhiBoUrl());
int rows=
dao.zhiBoInsert(zhiBo);
System.out.println(rows+":受影响行数");
}
相关文章推荐
- windows新建或者重命名文件及文件夹必须手动刷新才能显示出来问题解决方法
- 图片上传至Web项目下指定文件夹,需刷新项目下文件夹才能显示(已解决)
- 求一段smartupload上传图片的代码,不需要保存到数据库,但是想在jsp页面选中文件夹图片后,立马可以显示
- android手机客户端上传文件,java servlet服务器端接收并保存到服务器
- node+express用multer上传图片或者文件到服务器及用日期命名图片存储的文件夹
- android手机客户端上传文件,java servlet服务器端接收并保存到服务器
- 图片上传回显,需要刷新文件夹才能显示
- Javaweb上传图片或文件到服务器,Tomcat服务器重新部署项目,会删除原来上传的文件的问题
- c#客户端图片上传到服务器端文件并且把路径保存到SQL数据库
- android手机客户端上传文件,java servlet服务器端接收并保存到服务器
- 百度UEditor图片文件改变默认保存到项目根路径,自定义上传路径或远程服务器
- base64字符串转文件,以及ngImgCrop裁剪图片并上传保存到服务器示例
- Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)
- windows7删除或者新建文件夹一定要手动刷新一下才能正常显示出来
- .NET 客户端上传本地excel文件到服务器上,并在客户端显示
- asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图
- windows新建或者重命名文件及目录必须手动刷新才干显示出来问题解决方法
- 关于避免部署在eclipse和tomcat下的项目下保存的图片随着下次重新部署导致图片文件夹被清除的问题
- Asp.Net实现无刷新文件上传并显示进度条(非服务器控件实现)
- wp7模拟器开启不了,显示“被调用的对象已与其客户端断开连接”或者“接口”。并且提示有文件损坏的处理方法