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

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

把地址放到数据库中:
Java code

  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;


页面显示图片:
JScript code

  <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+文件名取到

如何写到服务器中?

------解决方案--------------------
你的理解有误,你所说的本地和服务器其实都是在一个电脑或者主机上,服务器也是在本地的,只是d:\\upload\\"+uploadFileName指定了存放在主机的具体位置。
------解决方案--------------------
探讨

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

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