원격 전송 및 수신 데이터 흐름 생성 이미지

3607 단어
그림을 데이터 흐름 방식으로 원격 서비스로 전송하여 서버 백엔드 프로그램을 통해 데이터 흐름을 수신하고 필요한 곳에 저장합니다.
이런 방식은 사진 업로드 기능과 마찬가지로 일부 정원사에게 또 다른 사진 업로드 기능을 제공하는 방법을 원한다.
전송 데이터 흐름 방법
    /// <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");
        
    }

 
 
 
 
 

좋은 웹페이지 즐겨찾기