C# 如何将csv保存到内存,然后使用ftp?
我目前正在创建一个CSV文件,然后通过ftp传输该文件。 这很好用。但是,我不想保存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";
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);