2017-07-22 1 views
0

Hé im essayant de télécharger un fichier XML sur un serveur Web en utilisant ftp et webclient. Le téléchargement fonctionne correctement mais il ajoute les en-têtes au début du fichier xml. Je utiliser ce code pour télécharger le fichierProblème lors du chargement de fichier XML avec le client Web

client.Credentials = new NetworkCredential (ftp_username, ftp_password); 
client.UploadFile (String.Format ("ftp://{0}:{1}/{2}", ftp_host, ftp_port, ftp_path), "STOR", Path.Combine (downloadLocation, "WebPermissions.xml")) 

Et quand on regarde le fichier sur mon serveur web, le fichier se présente comme suit

--------------8d4d10f462b8a6b 
Content-Disposition: form-data; name="file"; filename="WebPermissions.xml" 
Content-Type: text/xml 

<?xml version="1.0" encoding="utf-8"?> 
<RocketPermissions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
.... 
.... 
</RocketPermissions> 

Je cherchais depuis un certain temps et cant semblent Trouver une solution. J'ai vu une suggestion d'utiliser UploadDate à la place, ou en utilisant UploadString et le réglage du type de contenu text/xml, mais avant d'essayer ceux que je veux savoir si son possible avec UploadFile

+0

un site Web. Le fichier est téléchargé il a juste -------------- 8d4d10f462b8a6b Content-Disposition: formulaire-données; nom = "fichier"; filename = "WebPermissions.xml" Content-Type: text/xml –

+0

Êtes-vous sûr à 100% que 'client.UploadString (String.Format (" ftp: // {0}: {1}/{2} ", ftp_host , ftp_port, ftp_path), "STOR", Path.Combine (downloadLocation, "WebPermissions.xml")) 'est votre code? _ Cela n'entraînerait pas le téléchargement que vous voyez puisque la charge utile serait juste le ** chemin ** vers votre fichier XML et non le contenu lui-même https://msdn.microsoft.com/fr-fr/library/d0d3595k(v = vs.110) .aspx ._ Êtes-vous sûr de ne pas utiliser 'https://msdn.microsoft.com/en-us/library/esst63h0 (v = vs.110) .aspx'? – mjwills

+0

Oh mon mauvais laissez-moi éditer, son UploadFile pas UploadString qui m'a testé quelque chose –

Répondre

0

je fixe à l'aide UploadData à la place

client.UploadData (String.Format ("ftp://{0}:{1}/{2}", ftp_host, ftp_port, ftp_path), "STOR", File.ReadAllBytes (Path.Combine (downloadLocation, "WebPermissions.xml")));