• asp.net post任何数据类型流到网站当当网API传XML文件


    下面的代码可以post任何类型文件,主要是把数据流统一转换为base64格式.
    
    //------------------------------发送部分--------------------------------------------------
    
    
    
            string url = "http://localhost/im/upfile?aa=5";//发送到的页面的地址
    
             HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    
    
    
             //读取一个图片
    
             FileStream fs = new FileStream(Server.MapPath("~/NET基础知识.doc"), 
                  System.IO.FileMode.Open,     
    
                  System.IO.FileAccess.Read);
    
             byte[] filecontent = new byte[fs.Length];
    
             fs.Read(filecontent, 0, filecontent.Length);
    
             fs.Close();
    
             fs.Dispose();
    
    
    
             //将图片转换成base64编码的流
    
             string a = Convert.ToBase64String(filecontent);       
    
       
    
             //读取base64编码流,发送
    
             byte[] requestBytes = System.Text.Encoding.Default.GetBytes(a);
    
    
    
             req.Method = "POST";
    
             req.ContentType = "application/x-www-form-urlencoded";
    
             req.ContentLength = requestBytes.Length;
    
             Stream requestStream = req.GetRequestStream();
    
             requestStream.Write(requestBytes, 0, requestBytes.Length);
    
             requestStream.Close();
    
    
    
             //接收返回参数,到string backstr
    
             HttpWebResponse res = (HttpWebResponse)req.GetResponse();
    
             StreamReader sr = new StreamReader(res.GetResponseStream(), 
                System.Text.Encoding.Default);
    
             string backstr = sr.ReadToEnd();
    
             sr.Close();
    
             res.Close();
    
             //输出参数
    
             Response.Write(backstr);
    
    //-----------------------------------------------接收部分-----------------------------------
    
    
             //接收到的参数
    
             string bb= Request.QueryString["aa"];
    
             Encoding myEncoding = Encoding.GetEncoding("utf-8");
    
    
    
             //接收传递过来的数据流
    
             Stream resStream = Request.InputStream;
    
    
    
             byte[] filecontent = new byte[resStream.Length];
    
             //将数据流读入byte数组
    
             resStream.Read(filecontent, 0, filecontent.Length);
    
             //数组转换为string以便转换base64使用
    
             string a = myEncoding.GetString(filecontent);
    
             //将string读取base64解密到byte数组
    
             byte[] filecontent2 = Convert.FromBase64String(a);
    
             //写入目录
    
             File.WriteAllBytes(Server.MapPath("~/"+bb+".doc"), filecontent2);
    
             //返回值
    
             Response.Write("ok");
    
             Response.End();
    

      

  • 相关阅读:
    【转】RocketMQ事务消费和顺序消费详解
    RocketMQ初探(五)之RocketMQ4.2.6集群部署(单Master+双Master+2m+2s+async异步复制)
    Spring定时器Quartz的使用
    RocketMQ初探(四)之RocketMQ4.x版本可视化管理控制台rocketmq-console-ng搭建(Apache)
    RocketMQ入门(简介、特点)
    RocketMQ初探(二)之RocketMQ3.26版本搭建(含简单Demo测试案例)
    RocketMQ初探(一)
    tomcat详解
    HDFS读写流程
    RabbitMQ
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/3016764.html
Copyright © 2020-2023  润新知