2012-04-12 4 views
0

Immer wenn ich diesen Code verwende, lädt es die JPEG, aber der JPEG-Name ist STOR ohne Erweiterung auf dem Server.C# FTP zu FileZilla Server Dateiname speichern Problem

Irgendeine Idee, warum dies passiert oder wie ich den Dateinamen ändere, wenn ich von meiner C# -Desktopanwendung auf meinen FileZilla-FTP-Server speichere?

Hier wird der Grundcode ist, haben die Namen ändert, die Unschuldigen zu schützen;)

WebClient client = new WebClient(); 
client.Credentials = new NetworkCredential("username", "password"); 
client.BaseAddress = "ftp://mysite.com"; 
client.UploadFile(WebRequestMethods.Ftp.UploadFile, "C:\mypics\pic1.jpg"); 

Antwort

2

Versuchen

client.UploadFile(remoteName, WebRequestMethods.Ftp.UploadFile , @"C:\mypics\pic1.jpg"); 

WebRequestMethods.Ftp.UploadFile ist eine Zeichenfolge, deren Wert geschieht STOR sein, damit der Compiler wird vorausgesetzt, Ihr werden mit dem client.UploadFile (Remotename, local) Überlastung, weshalb Ihre Datei benannt STOR

+0

Das ist die richtige Antwort! –

+0

Ich war zerrissen, welche Antwort die beste war. Deine Antwort war richtig, erklärte, warum es passierte und wie es gelöst werden konnte. – GregH

2

@sgmoore beantwortet die Anfrage. Sie müssen Methode nur richtig verwenden:

client.UploadFile("pic1.jpg", "C:\mypics\pic1.jpg"); 

erste Argument ist Remote-Dateiname, der zweite ist Pfad zur lokalen Datei.

Sie können auch versuchen, einige andere FTP-Client-Implementierungen in. NET (sowieso FTP ist in .NET-Standardbibliothek schlecht implementiert), ich habe ftplib verwendet und es funktioniert gut.

+0

Große Antwort! Ich musste überprüfen, wer zuerst antwortete, um fair zu sein. Ich würde Ihnen den Scheck zu geben, wenn ich könnte! – GregH

+0

@GregH das ist ok, ich stimme völlig zu, dass sgmoore der erste war, der die richtige Antwort gegeben hat, und trotzdem ist es nur ein virtueller Punktestand, ich habe es nicht so ernst genommen :) –

Verwandte Themen