Upload de fichier via FTP - Serveur a renvoyé l'erreur (550) Fichier est indisponible, impossible de trouver le fichier
Je suis en train de télécharger un fichier via FTP à partir de mon ordinateur local vers un serveur FTP, qui est aussi sur mon ordinateur en local pour le moment. J'ai des sous je vais appeler:
Public Sub UploadFTPFile(ByVal ftpservername, ByVal fullfilepath, ByVal filename, ByVal username, ByVal password)
Dim clsRequest As System.Net.FtpWebRequest = _
DirectCast(System.Net.WebRequest.Create("ftp://" & ftpservername & "/" & filename), System.Net.FtpWebRequest)
clsRequest.Credentials = New System.Net.NetworkCredential(username, password)
clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
clsRequest.KeepAlive = False
' read in file...
Dim bFile() As Byte = System.IO.File.ReadAllBytes(fullfilepath)
' upload file...
Dim clsStream As System.IO.Stream = _
clsRequest.GetRequestStream()
clsStream.Write(bFile, 0, bFile.Length)
clsStream.Close()
clsStream.Dispose()
End Sub
Lors de l'appel de sous, je fais comme ça:
UploadFTPFile("192.168.1.3/Temp", selectedSoundFileLong, OpenFileDialog.SafeFileName, "", "")
En d'autres termes, dans le Sous, cette chaîne:
DirectCast(System.Net.WebRequest.Create("ftp://" & ftpservername & "/" & filename), System.Net.FtpWebRequest)
crée la suivante:
DirectCast(System.Net.WebRequest.Create("ftp://192.168.1.3/Temp/test.mp3"), System.Net.FtpWebRequest)
Et à cette ligne dans le sub:
Dim clsStream As System.IO.Stream = _
clsRequest.GetRequestStream()
Cette erreur se produit:
The remote server returned an error: (550) File unavailable
Ce qui pourrait être la cause de cela?
Je fais tourner un Serveur FTP à l'aide de Golder Serveur FTP, ce qui est un freeware.
Je pense qu'il est configuré correctement, car la connexion au Serveur FTP en utilisant la même chaîne comme ci-dessus à l'aide de l'Explorateur Windows fonctionne très bien.
Vous devez vous connecter pour publier un commentaire.
êtes-vous sûr qu'il n'y est pas d'espace blanc supplémentaire dans le webRequest chaîne? Je crois que vous obtenez cette erreur si la chaîne est arrivé d'être comme "ftp://192.168.1.3/ Temp/test.mp3" Aussi, assurez-vous que vous avez les bons droits d'écriture sur le serveur. En outre, assurez-vous de fichier, c'est de tester.mp3 et pas de test.MP3.
Essayez de la tourner la UsePassive de la propriété. Le contrôle et l'utilisation des données les différents ports FTP, il est possible que vous obtenez par le biais de sur le port de contrôle, mais bloqué en quelque sorte sur le port de données.
550 est un Système.Net.FtpWebRequest code d'erreur de connexion.
Aussi vous n'avez pas construit votre FTP correctement découvrez mon FTP catégorie: Son assez simple.
Pour initialiser: