J'essaye de télécharger un fichier sur un serveur FTP avec C #. Le fichier est téléchargé mais avec zéro octet.
private void button2_Click(object sender, EventArgs e)
{
var dirPath = @"C:/Documents and Settings/sander.GD/Bureaublad/test/";
ftp ftpClient = new ftp("ftp://example.com/", "username", "password");
string[] files = Directory.GetFiles(dirPath,"*.*");
var uploadPath = "/httpdocs/album";
foreach (string file in files)
{
ftpClient.createDirectory("/test");
ftpClient.upload(uploadPath + "/" + Path.GetFileName(file), file);
}
if (string.IsNullOrEmpty(txtnaam.Text))
{
MessageBox.Show("Gelieve uw naam in te geven !");
}
}
c#
.net
file-upload
ftp
webvision
la source
la source
Réponses:
Les réponses existantes sont valides, mais pourquoi réinventer la roue et s'embêter avec des
WebRequest
types de niveau inférieur tout enWebClient
implémentant déjà le téléchargement FTP proprement:la source
Comment utiliser
utilisez ceci dans votre foreach
et vous n'avez besoin de créer un dossier qu'une seule fois
pour créer un dossier
la source
request.GetResponse()
. Sans cela, le téléchargement ne fonctionnera pas (à juste titre) sur certains serveurs. Consultez Comment: télécharger des fichiers avec FTP .Le moyen le plus simple
Le moyen le plus simple de télécharger un fichier sur un serveur FTP à l'aide de .NET Framework consiste à utiliser la
WebClient.UploadFile
méthode :Options avancées
Si vous avez besoin d'un plus grand contrôle, qui
WebClient
n'offre pas (comme le cryptage TLS / SSL , le mode ASCII, le mode actif, etc.), utilisezFtpWebRequest
. Un moyen simple est de simplement copier unFileStream
dans un flux FTP en utilisantStream.CopyTo
:Suivi des progrès
Si vous avez besoin de surveiller la progression d'un téléchargement, vous devez copier vous-même le contenu par morceaux:
Pour la progression de l'interface graphique (WinForms
ProgressBar
), voir l'exemple C # à l' adresse :Comment pouvons-nous afficher la barre de progression pour le téléchargement avec FtpWebRequest
Téléchargement du dossier
Si vous souhaitez télécharger tous les fichiers d'un dossier, voir
Télécharger le répertoire des fichiers sur le serveur FTP à l'aide de WebClient .
Pour un téléchargement récursif, consultez
Téléchargement récursif vers un serveur FTP en C #
la source
Ce qui suit fonctionne pour moi:
Vous ne pouvez pas lire envoyer le paramètre de fichier dans votre code car il ne s'agit que du nom de fichier.
Utilisez le suivant:
Pour obtenir le fichier afin de pouvoir le transmettre à la
Send
méthode.la source
la source
Dans le premier exemple, vous devez les changer en:
Premier rinçage et après cette fermeture.
la source
Cela fonctionne pour moi, cette méthode va SFTP un fichier vers un emplacement au sein de votre réseau. Il utilise la bibliothèque SSH.NET.2013.4.7. On peut simplement le télécharger gratuitement.
la source
date de publication: 26/06/2018
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/how-to-upload-files-with-ftp
la source
J'ai observé que -
J'ai préparé une méthode qui fonctionne comme ceci, vous pouvez remplacer la valeur de la variable ftpurl par le paramètre TargetDestinationPath. J'avais testé cette méthode sur l'application winforms:
Faites-moi savoir en cas de problème, ou voici un autre lien qui peut vous aider:
https://msdn.microsoft.com/en-us/library/ms229715(v=vs.110).aspx
la source