C# 如何使用POST方式传输一个XML文件给对方服务器接口。

我用xmlhttp.send("<root>啊啊啊</root>"); 这种方式传输的是字符串流,那么如果我想要直接传输一个文档的话改用什么语句?

各位大侠求助~ 谢谢~
这是参照csdn上的13楼的解决办法,成功了。好吧我问题不在重点上,谢谢大家的解答~
http://bbs.csdn.net/topics/350168122

Sign = System.Web.HttpUtility.UrlEncode(Sign, System.Text.Encoding.UTF8);
        service_type = System.Web.HttpUtility.UrlEncode(service_type, System.Text.Encoding.UTF8);
        request_xml = System.Web.HttpUtility.UrlEncode(request_xml, System.Text.Encoding.UTF8);
        string postData = string.Format("request_xml={0}&service_type={1}&sign={2}", request_xml, service_type, Sign); // 要发放的数据
        byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(postData);
        HttpWebRequest objWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:7118/Server/Default.aspx"); //发送地址 http://localhost:7118/Server/Default.aspx
        objWebRequest.Method = "POST";//提交方式
        objWebRequest.ContentType = "application/x-www-form-urlencoded";
        objWebRequest.ContentLength = byteArray.Length;
        Stream newStream = objWebRequest.GetRequestStream(); // Send the data.
        newStream.Write(byteArray, 0, byteArray.Length); //写入参数
        newStream.Close();

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-30
将文件读取到字节流中,构造form表单Post发送给对方服务器追问

我不想传字节流,是想传文件给对方。

追答

http协议传文件不就是发送文件流?关键在于构造Form表单,发给对方服务器就会接收的。

追问

不是很理解为什么要使用Form表单。 就是如果我的内容是固定的,就像我在问题中写的哈哈哈 这种的话,那我使用xmlHttp.send("哈哈哈"); 这个语句,对方接收到的是一个文件?而且文件内容是“哈哈哈” 吗?

HTTP是传输的文件流,但是对方收到的是文件吗?

不是很理解,还希望您能解释一下。谢谢~

第2个回答  2014-06-30
要么写Socket,要么用WebService追问

因为对方的webservice接口是需要使用POST方式调用的,然后告诉我POST参数是Command,但是我不是很理解这个Command指的是什么。其他也没有说明,就只有一个接口接入地址和数据格式。

如果您知道的话,请告诉我,十分感谢~

追答

1、首先把XML文件的内容存到数据库里面的某个表
SqlCommand com=new SqlCommand("select * from 表");
com.Commtype=Commtype.text;
然后把SqlCommand传递给WebService

这样试试

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网