FTP上传不会上传CSV文件的内容

时间:2016-04-02 16:28:25

标签: c# csv ftp

我正在开发一个将.CSV文件上传到FTP服务器的项目。 当我在Excel中打开文件时,程序会成功地将文件创建到我的计算机上的路径,其中文件包含内容。

程序成功将文件上传到服务器,我可以看到服务器上的文件。

问题是,当我从服务器打开它们时,.CSV文件没有任何内容并填充0字节。

有谁知道,我做错了什么?

提前致谢!

以下是我用来上传到服务器的代码:

        private void sendFileBTN_Click(object sender, EventArgs e)
    {
        Upload("ftp://FTPServerName", "FTPBrugernavn", "FTPpassword", path + @"\fileNameToUpload.csv");
    }

public void Upload(string ftpServer, string username, string password, string filename)
    {
        var Settingsdict = File.ReadAllLines(".\\" + "Settings" + ".csv").Select(l => l.Split(';').ToArray()).ToArray();
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpServer + "/" + Settingsdict[4][1] +
        Path.GetFileName(filename));
        request.Method = WebRequestMethods.Ftp.UploadFile;

        request.Credentials = new NetworkCredential(username, password);
        request.UsePassive = true;
        request.UseBinary = false;
        request.KeepAlive = true;

        StreamReader sourceStream = new StreamReader("testfile.txt");
        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();

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();
        FileStream stream = File.OpenRead(filename);
        byte[] buffer = new byte[stream.Length];
        stream.Read(buffer, 0, buffer.Length);
        stream.Close();
        response.Close();
    }

1 个答案:

答案 0 :(得分:0)

我发现了。 这是我必须使用的代码:

/* 100 */ "Continue",
/* 101 */ "Switching Protocols",
# ...