asp.net接收传入的数据流

我们在日常的应用中,都会遇到这样一个问题,就是我们做的asp.NET程序,会收到其它第三方软件传过来的一些信息数据流,当然了一些文本形式的信息,可以采用get或post的方法来接收,可是要是传过来的是一些图片,或是其它一些流形式的数据怎么办呢.下面介绍二种方法,来接收,我接收的是传过来的XML文件

   C#给我们提供了,二个接收流的方法.

   第一种方法,是取byte

   

[csharp] view plain copy
 
  1. int len = Request.TotalBytes;  
  2.                 byte[] buffer = Request.BinaryRead(len);  
  3.   
  4.                   
  5.   
  6.                   
  7.   
  8.                 string path = "1.xml";  
  9.   
  10.                 FileStream fs = new FileStream(Server.MapPath(path), FileMode.Create, FileAccess.Write);  
  11.   
  12.                 BinaryWriter bw = new BinaryWriter(fs);  
  13.   
  14.                   
  15.   
  16.                 bw.Write(buffer);  
  17.                   
  18.                 bw.Close();  
  19.                 fs.Close();  


   第二种方法,是取inputsteam

 

       

[csharp] view plain copy
 
  1. byte[] buffer = new byte[Request.InputStream.Length];  
  2.   
  3.                Request.InputStream.Read(buffer, 0, buffer.Length);  
  4.   
  5.                  
  6.   
  7.                string path = "1.xml";  
  8.   
  9.                FileStream fs = new FileStream(Server.MapPath(path), FileMode.Create, FileAccess.Write);  
  10.   
  11.                BinaryWriter bw = new BinaryWriter(fs);  
  12.   
  13.                  
  14.   
  15.                bw.Write(buffer);  
  16.                  
  17.                bw.Close();  
  18.                fs.Close();  


   这里我是为了做测试用,直接就把文件名给定死了1.xml,你可以采用日期随机数的方法来取名字.

posted @ 2017-02-23 13:44  littlewrong  阅读(452)  评论(0)    收藏  举报