C# 如何将csv保存到内存,然后使用ftp?

C# 如何将csv保存到内存,然后使用ftp?,c#,csv,ftp,export,C#,Csv,Ftp,Export,我目前正在创建一个CSV文件,然后通过ftp传输该文件。 这很好用。但是,我不想保存csv文件,我想将其创建到内存中,然后通过ftp传输 这是我当前的代码: private void Csv() { CsvExport eftExport = new CsvExport(); eftExport.AddRow(); eftExport["customer_reference"] = "Ref";

我目前正在创建一个CSV文件,然后通过ftp传输该文件。 这很好用。但是,我不想保存csv文件,我想将其创建到内存中,然后通过ftp传输

这是我当前的代码:

private void Csv()
    {             
        CsvExport eftExport = new CsvExport();
        eftExport.AddRow();
        eftExport["customer_reference"] = "Ref";           
        eftExport["landline"] = "01234567890";
        string url = "C:/Content/Cms/DD/";
        string fileName = "file.csv";
        eftExport.ExportToFile(url + fileName);
        this.FtpFile(url, fileName);
    }

    private void FtpFile(string url, string fileName)
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://url.co.uk/" + fileName);
        request.Method = WebRequestMethods.Ftp.UploadFile;

        request.Credentials = new NetworkCredential ("Administrator", "pass");

        StreamReader sourceStream = new StreamReader(url + fileName);
        byte[] fileContents = Encoding.UTF8.GetBytes (sourceStream.ReadToEnd());
        sourceStream.Close();
        request.ContentLength = fileContents.Length;

        Stream requestStream = request.GetRequestStream();
        requestStream.Write(fileContents, 0, fileContents.Length);
        requestStream.Close();                       
    }

但不是执行eftExport.exportofile(url+文件名);我不想将其保存到计算机???

使用
CsvExport
类的
ExportToBytes()
函数

然后更改
FtpFile()
以接受字节数组并删除流读取器


如果您的
CsvExport
类型有一个
ExportToStream
或类似的文件,那么您应该得到更少的代码:)

如果您的
csveexport
类型有一个
ExportToStream
或类似的文件,只需使用它创建流,然后将其写入
requestStream

使用此命令将其转换为字节数组:

byte[] buffer = eftExport.ExportToBytes();
现在:


CvsExport支持写入流吗?我从。。。
requestStream.Write(buffer, 0, buffer.Length);