日期:2014-05-17  浏览次数:20620 次

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指定了存放在主机的具体位置。