Ich arbeite an einem Projekt, das .CSV-Dateien auf einen FTP-Server hochlädt. Das Programm erstellt Dateien erfolgreich zu einem Pfad auf meinem Computer, wo die Dateien Inhalt haben, wenn ich sie in Excel öffne.FTP-Upload lädt keine Inhalte von CSV-Dateien
Das Programm ist erfolgreich das Hochladen der Dateien auf den Server, und ich kann die Dateien auf dem Server sehen.
Das Problem ist, dass die .CSV-Dateien keinen Inhalt und füllt 0 Byte, wenn ich sie vom Server öffnen.
Weiß jemand, was ich falsch gemacht habe?
Vielen Dank im Voraus! Hier
ist der Code, dass ich auf den Server laden verwenden:
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();
}