【发布时间】:2015-07-21 09:31:27
【问题描述】:
我使用以下代码示例将数据上传到 FTP 服务器。
var streamXml = new MemoryStream();
var writer = new StreamWriter(streamXml);
writer.Write(stringaXml);
writer.Flush();
streamXml.Position = 0;
var response = client.UploadData(remoteFilePath, ReadFully(streamXml));
Logger.Info(client.Encoding.GetString(response));
public static byte[] ReadFully(Stream input)
{
var buffer = new byte[16 * 1024];
using (var ms = new MemoryStream())
{
int read;
while ((read = input.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
return ms.ToArray();
}
}
文件已成功传输,但response 始终为byte[0]
我在这里遗漏了什么吗?
更新
我这样修改ReadFully方法:
public static byte[] ReadFully(Stream input)
{
using (MemoryStream ms = new MemoryStream())
{
input.CopyTo(ms);
return ms.ToArray();
}
}
我的小 XML 文件已成功保存到 FTP 服务器,但 response 仍然是 byte[0]
【问题讨论】: