首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

struts2上传过本土和上传到服务器的具体区别(包括代码)

2013-08-06 
struts2上传过本地和上传到服务器的具体区别(包括代码)我写了一个先把本地图片存放到本地一个指定目录d:\u

struts2上传过本地和上传到服务器的具体区别(包括代码)
我写了一个先把本地图片存放到本地一个指定目录d:\upload\,然后把地址放到数据库中。
  再从数据库中把地址取出,并显示图片。可以实现
但是,我没试过怎样把图片上传到服务器,并存到数据库中,再页面中显示出来

把地址放到数据库中:


  InputStream is=new FileInputStream(upload);
    OutputStream os=new FileOutputStream("d:\\upload\"+uploadFileName);
    byte[] buffer=new byte[1024];
    int count=0;
    while ((count=is.read(buffer))>0) {
os.write(buffer, 0, count);
}
    os.close();
    is.close();
    String path="d:\\upload\"+uploadFileName;
    
    b2.setPhoto(path);
    if (path.length()>0) {
System.out.println("取得图片地址"+path);
}else {
System.out.println("图片地址为空");
}    
    bookDao.addBook(b2);
    this.setMessage("添加成功!");
    return SUCCESS;

页面显示图片:

  <td><image id="image" src="<s:property value="#book.photo"/>" width="100" height="120"/></td>


我想问:上传到本地和上传到服务器本质区别是什么?实现机制是什么?具体代码有什么区别?

请大侠们多多指点啊,尽量详细点啊~~嘿嘿~~
[解决办法]
this.getSession().getServletContext().getRealPath("/");

可以通过地址url+文件名取到
[解决办法]
引用:
引用:
this.getSession().getServletContext().getRealPath("/");

可以通过地址url+文件名取到

如何写到服务器中?


在页面加一个type为file的input,上图片到服务器。

这个网上去找,很多的.
[解决办法]
你的理解有误,你所说的本地和服务器其实都是在一个电脑或者主机上,服务器也是在本地的,只是d:\\upload\"+uploadFileName指定了存放在主机的具体位置。
[解决办法]
引用:
引用:
你的理解有误,你所说的本地和服务器其实都是在一个电脑或者主机上,服务器也是在本地的,只是d:\\upload\"+uploadFileName指定了存放在主机的具体位置。



举个例子,我们注册csdn的时候都要选择头像,那他们是要把头像图片和用户信息都存到数据库中。
我们选择自己电脑上的图片,上传之后csdn会把我们的图片放到他们的……



上传的图片一般会保存在工程下面。这样就直接保存工程的web地址。比如你工程路径是:http://localhost:8080/demo/
那么图片路径保存为:/demo/img/a.jpg
当然你也可以不保存在工程中,数据库直接保存文件磁盘绝对路径,那样的话你显示图片就只能以文件读的方式了。

热点排行