2017-01-12 3 views
-2

Teil meines Codes sendet eine Datei von der Festplatte an einen Server mit FTP. Ich möchte eine Zeichenfolge in der Lage sein, anstelle einer statischen Dateinamen angeben, aber nicht sicher, wie :(Keine Überladung für Methode 'Create' dauert 2 Argumente

string test = "string"; 
FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create("ftp://192.168.0.29", test); 
+0

Statt '(FtpWebRequest) WebRequest.Create (" ftp://192.168.0.29 ", Test);', '(FtpWebRequest) WebRequest.Create (" ftp://192.168.0.29 "+ test);'? Dies ist nur eine Strings Frage scheint es? – Tyress

+0

Was erwartest du, wenn du test in deinem Beispiel bestanden hast? –

+0

Was ich wollte, war eine zufällige Zeichenfolge zu generieren und speichern Sie das als Dateiname, ich schaffte es tatsächlich, dies am Ende zu tun. – user7407411

Antwort

0

Die Create Methode der WebRequest Klasse akzeptiert nur einen Parameter, entweder einen String oder ein Uri. Aber Sie sind vorbei hier zwei, ich denke, es so etwas wie dies sein sollte.

string test = "string"; 
FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create("ftp://192.168.0.29/" + test); 
0

beim erstellen FtpWebRequest Sie zunächst die URL angeben, wenn Sie das Objekt erhalten, können Sie die Datei senden die folgende Siehe

string url = "ftp://192.168.0.29"; 
string filename = "C:\\file.txt"; 
FtpWebRequest ftpReq = (FtpWebRequest)WebRequest.Create(url); 

using (var ftpstream = ftpReq.GetRequestStream()) 
using (var filestream = new FileStream(filename, FileMode.Open)) 
{ 
    filestream.CopyTo(ftpstream, 1000); 
} 
.
Verwandte Themen