我正在开发一个将.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();
}
答案 0 :(得分:0)
我发现了。 这是我必须使用的代码:
/* 100 */ "Continue",
/* 101 */ "Switching Protocols",
# ...