客户端如何在c#中向服务器发送二进制数组数据
本文关键字:二进制 数组 数据 服务器 客户端 | 更新日期: 2023-09-27 18:12:14
我试图使用HttpWebRequest
在c#发布一个byteArray。我不想将字节转换为字符串(或ToBase64String
)。我只是想把byteArray原样发送到服务器。假设我的数据是
byte[] byteArray = { 0, 1, 5, 4, 0, 1, 55, 0, 1, 5, 4, 0, 1}
我应该在post参数中定义什么?
request.ContentType = "application/x-www-form-urlencoded"??? or request.ContentType = "application/octet-stream";???
我想我错过了一些大....(顺便说一下,服务器是WampServer (Koana,PHP,MySQL)
谢谢!
更简单的方法是使用WebClient
:
byte[] byteArray = { 0, 1, 5, 4, 0, 1, 55, 0, 1, 5, 4, 0, 1};
using(WebClient wc = new WebClient())
{
wc.UploadData(someURL, byteArray);
}
对于二进制数据,您通常会使用application/octet-stream
-但这不是必需的(取决于服务器),即上面的WebClient
上传没有指定内容类型的头。
byte[] byteArray = { 0, 1, 5, 4, 0, 1, 55, 0, 1, 5, 4, 0, 1}
using (Stream requestStream = httpWebRequest.GetRequestStream()) {
if (requestStream.CanWrite)
requestStream.Write(byteArray, 0, postBytes.Length);
}