Ordner & Dateien Hochladen über ftp C#
ich versuche, etwas neues zu lernen über den Upload über ftp-Verbindung zu einem anderen host.
ich weiß, wie das hochladen einer einzelnen Datei. aber was ist, wenn ich hochladen will volle Ordner, mit voller Unterordner und Dateien vorhanden sind?
dies ist meine eine einzige Datei hochladen
private void Form1_Load(object sender, EventArgs e)
{
Upload("Test.txt");
}
public void Upload(string fileToUpload)
{
try
{
FileInfo toUpload = new FileInfo(fileToUpload);
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://127.0.0.1/" + toUpload.Name);
MessageBox.Show(WebRequestMethods.Ftp.ListDirectory);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("Uploader", "3635451");
Stream ftpStream = request.GetRequestStream();
FileStream file = File.OpenRead(fileToUpload);
int length = 1024;
byte[] buffer = new byte[length];
int bytesRead = 0;
do
{
bytesRead = file.Read(buffer, 0, length);
ftpStream.Write(buffer, 0, bytesRead);
}
while (bytesRead != 0);
file.Close();
ftpStream.Close();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
ich google würde eine Menge über den Upload-Ordner, aber ich habe nur versäumt,
vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die WinSCP Bibliothek. Es ist kostenlos und unterstützt FTP-sowie SFTP. Ich fand es einfach zu bedienen und funktioniert einwandfrei.
Den
PutFiles
Methode verarbeitet einen ganzen Ordner, einschließlich Unterordner. Es hat auch eineSynchronizeDirectories
Methode.Die Antwort ist Sie nicht.
Die Sie interessieren können, die von Bibliotheken für diese Operationen, wenn nicht können Sie Blick auf den source code.
Wenn Sie möchten, um einen Ordner hochzuladen, müssen Sie erstellen die Ordner auf Ihrem FTP und kopieren Sie jede Datei einzeln.
Beispiel einen Ordner auf der lokalen:
Wenn Sie möchten, laden Sie die Ordner "Ordner".