用C#webservice做一个返回数据库image类型的数据流,里面保存的是一个完整的html页面内容,该如何做?请教。

解决方案 »

  1.   


    using System;
    using System.Web;
    using System.Collections;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Runtime.Remoting.Messaging;
    /// <summary>
    /// MyWebService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class MyWebService : System.Web.Services.WebService {    public MyWebService () {        //如果使用设计的组件,请取消注释以下行 
            //InitializeComponent(); 
        }    [WebMethod]
        public string HelloWorld(string name) {
            
            return "Hello World,"+name;
        }
        [WebMethod]
        public int Add(int number1, int number2)
        {
            return number1 + number2;
        }    [WebMethod]
        public int Plus(int number1, int number2)
        {
            //减
            return number1 - number2;
        }    [WebMethod]
        public int Multiple(int number1, int number2)
        {
            //乘
            return number1 * number2;
        }
        [WebMethod]
        public int Devide(int number1, int number2)
        {
            //除
            return number1 / number2;
        }
        [WebMethod]
        public DateTime GetDateTime()
        {
            //System.Threading.Thread.Sleep(90 * 1000);
            return DateTime.Now;
        }    //[WebMethod]
        //public IAsyncResult BeginGetDateTime()
        //{
        //    //AsyncResult r =
        //    //return r;
        //}    //[WebMethod]
        //public DateTime EndGetDateTime(IAsyncResult r)
        //{
        //    return DateTime.Now;
        //}    /// <summary>
        /// 获取服务器上的文件流
        /// </summary>
        /// <param name="fileName">服务器上的文件名</param>
        [WebMethod]
        public byte[] GetFileData(string fileName)
        {
           /*
    这里根据条件查询出数据库对应字段的数据,转换成byte[]返回*/
            byte[] buffer = null;//保存文件内容的字节数组
            //取得文件在服务器上的物理地址
            fileName = Server.MapPath(".") + "\\" + fileName;
            if (System.IO.File.Exists(fileName))
            {
                using (System.IO.FileStream stream = new System.IO.FileStream(fileName, System.IO.FileMode.Open))
                {
                    //实例化字节数组
                    buffer = new byte[(int)(stream.Length)];
                    //将文件内容一次性读取到字节数组中
                    stream.Read(buffer, 0, buffer.Length);
                }        }
            return buffer;//将字节数组的内容返回
        }
        
    }
      

  2.   

    得到byte[]之后就能做你想做的事情了。
      

  3.   

    image读到一个byte buffer里面然后返回