当前位置: 代码迷 >> Web Service >> 传一张图片到客户端如何用webservice传
  详细解决方案

传一张图片到客户端如何用webservice传

热度:362   发布时间:2012-03-09 16:54:56.0
传一张图片到客户端怎么用webservice传
想用webservice把一张图片传输到客户端上,在客户端的picturebox上显示出来,请问代码怎么写,客户端是winform形式的,图片是存在服务器端的。 
知道可以通过二进制流的形式来进行传输,具体怎么实现,如何转换,如何还原。请提供一下代码。

------解决方案--------------------
webservice
C# code

public bool ImageUpload(byte[] btMS,string strImgPath)
        {
            try
            {
                ///定义并实例化一个内存流,以存放提交上来的字节数组。
                MemoryStream ms = new MemoryStream(btMS);
                ///定义实际文件对象,保存上载的文件。
                FileStream f = new FileStream(strImgPath, FileMode.Create);
                ///把内内存里的数据写入物理文件
                ms.WriteTo(f);
                ms.Close();
                f.Close();
                f = null;
                ms = null;
                return true;
            }
            catch(Exception ex)
            {
                return false;
            }
        }

------解决方案--------------------
base64把图像数据编码后发出去。
------解决方案--------------------
楼主,我给你一个简单点的吧,复杂的你在这个基础上加好了,仅讲述原理,没有压缩和其他编解码转换。
Web Service端代码:
 
C# code
  
    [WebMethod]
    public byte[] GetFileBytes() {
        return File.ReadAllBytes("D:/vmware-sn.bmp");//读取文件到一个byte数组,文件你可以改成相应的文件
    }

------解决方案--------------------
你可以再这个代码的基础上加入压缩,甚至不要直接传byte,加密转换以后再传(如果图片需要保密的话),基本的架构大概差不多这样的。
------解决方案--------------------
base64 byte[]
类型传入
  相关解决方案