Hallo,
ich hab ein kleines Problem mit meinem FTP Upload.
Hier erstmal der Code:
public void UploadFtpFile(string folderName, string fileName)
{
FtpWebRequest request;
try
{
string user = MainWindow.conf.ftpUsername;
string pass = MainWindow.conf.ftpPasswort;
string absoluteFileName = Path.GetFileName(fileName);
request = WebRequest.Create(new Uri(string.Format(@"ftp://{0}/{1}/{2}", MainWindow.conf.DruckerIpAsString, folderName, absoluteFileName))) as FtpWebRequest;
request.Method = WebRequestMethods.Ftp.UploadFile;
request.UseBinary = true;
request.UsePassive = true;
request.KeepAlive = true;
request.Credentials = new NetworkCredential(user, pass);
request.ConnectionGroupName = "group";
using (FileStream fs = File.OpenRead(fileName))
{
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream requestStream = request.GetRequestStream();
requestStream.Write(buffer, 0, buffer.Length);
requestStream.Flush();
requestStream.Close();
}
}
catch (Exception ex)
{
MessageBox.Show("FTP-Error: " + ex.Message);
}
}
Mit dieser Funktion uploade ich eine Datei auf meinen FTP Server.
Jetzt hab ich festgestellt, das wenn die Datei schon existiert (also überschrieben werden soll)
das er nur die existierende Datei aufmacht und den neuen Inhalt in die Datei schreibt.
Dies kann aber zu fehler führen, wenn die vorhergehende Datei mehr inhalt hatte als die neue.
Dann hab ich den neuen Inhalt und danach fragmente vom alten inhalt in der datei.
meine Frage dazu:
Kann man vor dem übertragen der Datei einfach überprüfen ob schon eine Datei mit dem namen vorhanden ist und wenn ja diese löschen?
Oder ist es möglich vor dem schreiben in die Datei diese komplett zu leeren?
Und wie ginge das?
Mfg Kaladial
Hallo Kaladial,
wenn du deine Frage im Beitrag schon formulieren kannst, verwende doch bitte klare aussagekräftige Titel. [Hinweis] Wie poste ich richtig?
Habs korrigiert.
Weiter: Ein Forum ist Geben und Nehmen. Daher poste doch bitte deine Lösung, damit Hilfesuchende mit der gleichen Frage in Zukunft eine Lösung zu der Frage hier im Thread finden.
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck