zoukankan      html  css  js  c++  java
  • 远程发送和接收数据流生成图片

    将图片转成数据流方式发送到远程服务,在通过服务器后台程序来接收数据流,再保存成图片存放在需要的地方。

    这种方式就类似上传图片功能一样,希望能给一些园友另一种上传图片功能的方法。

    发送数据流方法

        /// <summary>
        /// PostBinaryData
        /// </summary>
        /// <param name="url">要发送的 url 网址</param>
        /// <param name="bytes">要发送的数据流</param>
        /// <returns></returns>
        public string PostBinaryData(string url, byte[] bytes)
        {
         //下面是测试例子
    //string url = "http://www.test.com/test.ashx"; //string img = HttpContext.Current.Server.MapPath("../images/test.jpg"); //byte[] bytes = File.ReadAllBytes(img); HttpWebRequest wRequest = (HttpWebRequest)WebRequest.Create(url); wRequest.ContentType = "multipart/form-data"; wRequest.ContentLength = bytes.Length; wRequest.Method = "POST"; Stream stream = wRequest.GetRequestStream(); stream.Write(bytes, 0, bytes.Length); stream.Close(); HttpWebResponse wResponse = (HttpWebResponse)wRequest.GetResponse(); StreamReader sReader = new StreamReader(wResponse.GetResponseStream(), System.Text.Encoding.UTF8); string str = sReader.ReadToEnd(); sReader.Close(); wResponse.Close(); return str; }

    接收数据流方法

        public void GetBinaryData()
        {
            string imgFile = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
            string filePath = HttpContext.Current.Server.MapPath(imgFile);
            
            //方法一
            int lang = HttpContext.Current.Request.TotalBytes;
            byte[] bytes = HttpContext.Current.Request.BinaryRead(lang);
            string content = System.Text.Encoding.UTF8.GetString(bytes);
            FileStream fStream = new FileStream(filePath, FileMode.Create, FileAccess.Write);
            BinaryWriter bw = new BinaryWriter(fStream);
            bw.Write(bytes);
            bw.Close();
            fStream.Close();                
            
            //方法二
            Bitmap img = new Bitmap(HttpContext.Current.Request.InputStream);
            img.Save(filePath);
            
            HttpContext.Current.Response.Write("ok");
            
        }
  • 相关阅读:
    由一段代码说开去——set
    由一段代码说开去——list
    day 11
    day 16
    day 10
    day 13
    day 9
    day 18
    day 12
    day 14
  • 原文地址:https://www.cnblogs.com/junny/p/2695208.html
Copyright © 2011-2022 走看看