使用C#从内存上传FTP文件到远程站点

时间:2010-02-16 08:04:06

标签: c# .net ftp

正在开发一个需要将xml文件上传到远程FTP站点的项目。

是否可以将xml字符串从内存保存到远程FTP站点? ...从我看到我必须先将文件写入本地磁盘然后从磁盘和FTP读取到远程站点。

我正在使用c#。

谢谢。

1 个答案:

答案 0 :(得分:3)

完全可以使用MemoryStream而不是FileStream将数据“写入”到FTP服务器。

从我的头脑中:(只是一段代码,我认为你已经拥有了FTP的东西)

var data = ASCIIEncoding.ASCII.GetBytes(yourXmlString);
using (var dataStream = new MemoryStream(data))
using (var requestStream = ftpRequest.GetRequestStream())
{
     contentLength = dataStream.Read(buffer, 0, bufferLength);

     while (contentLength != 0)
     {
          requestStream.Write(buffer,0,bufferLength);
          contentLength = dataStream.Read(buffer, 0, bufferLength);
     }
}

换句话说,你只需要一个流,无论是FileStream还是MemoryStream都无关紧要