C# 内存流复制错误
将数据从MemoryStream复制到请求流时出现问题C# 内存流复制错误,c#,stream,httpwebrequest,memorystream,C#,Stream,Httpwebrequest,Memorystream,将数据从MemoryStream复制到请求流时出现问题 var Request = (HttpWebRequest.Create(Url) as HttpWebRequest); Request.Method = "PUT"; Stream RequestStream = Request.GetRequestStream(); // write to MemoryStream var MemStream = new MemoryStream(); byte[] Test = Encoding.
var Request = (HttpWebRequest.Create(Url) as HttpWebRequest);
Request.Method = "PUT";
Stream RequestStream = Request.GetRequestStream();
// write to MemoryStream
var MemStream = new MemoryStream();
byte[] Test = Encoding.ASCII.GetBytes("test000\r\n");
MemStream.Write(Test, 0, Test.Length);
// test writing correctly
byte[] B = MemStream.ToArray();
System.Windows.Forms.MessageBox.Show(Encoding.ASCII.GetString(B)); // shows data correctly
// copy data to request stream(not working!)
MemStream.CopyTo(RequestStream);
// add new data to request stream(working)
byte[] Test1 = Encoding.ASCII.GetBytes("test111");
RequestStream.Write(Test1, 0, Test1.Length);
仅发送到服务器“test111”。有什么想法吗?复制以从当前位置复制数据。所以它无法复制,因为位置在末尾。其中as
ToArray
返回所有数据,与位置无关
复制从当前流中的当前位置开始,复制操作完成后不会重置目标流的位置
试试这个
MemStream.Position = 0;
MemStream.CopyTo(RequestStream);
有关更多信息,请参阅复制以从当前位置复制数据。所以它无法复制,因为位置在末尾。其中as
ToArray
返回所有数据,与位置无关
复制从当前流中的当前位置开始,复制操作完成后不会重置目标流的位置
试试这个
MemStream.Position = 0;
MemStream.CopyTo(RequestStream);
有关更多信息,请参阅memstream的位置在末尾。因为
MemStream.Write(Test,0,Test.Length)代码>
使用:
memstream的位置在末尾。因为MemStream.Write(Test,0,Test.Length)代码>
使用:
将MemoryStream对象位置设置为0并使用CopyTo方法
MemStream.Position=0;
MemStream.CopyTo(RequestStream) 设置MemoryStream对象位置=0并使用CopyTo方法
MemStream.Position=0;
MemStream.CopyTo(RequestStream) @user2058005谢谢,我知道如何接受答案。但不到10分钟,就不可能了accepted@user2058005谢谢,我知道如何接受答案。但不足10分钟,不能接受