[.net] System.Net upload file

System.Net upload file [.net] - C#/.NET managed - Programmation

Marsh Posté le 06-03-2005 à 21:21:03    

Hello !  :)  
 
J'essayé de plusieurs façon de simuler l'envoi d'un fichier dans un formulaire web, mais cela ne fonctionne pas.
 
Mon problème étant que la méthode System.Net.WebClient.UploadFile() framework post dans le champ "file" le fichier (je dois le poster dans "FileTO" ), comme on peut le voir dans le code source de System.Net : http://dotnet.di.unipi.it/Content/ [...] ource.html
 
J'ai essayé de différentes façons (domage que WebClient soit sealed!) en me basant sur la RFC1867 (Form-based File Upload in HTML). J'aurrai préféré quand même rester sur une classe intégrée telle que System.Net.WebClient que la refaire avec des sockets, car c'est plus évolitif si je veux utiliser un proxy après.
 
Une idée du probème ??  :??:  
 
Merci  :love:  
 
const string formFieldName1 = "FileTO";
const string formFieldName2 = "Enter";
const string fileName = "fichier.xml";
 
string xml = .....
string URI = .....
 
string boundary = "-------" + DateTime.Now.Ticks.ToString("x" );
 
WebClient request = new WebClient();
request.Headers.Clear();
request.Headers.Add("Content-Type", "multipart/form-data; boundary=" + boundary);
 
string data = String.Format(
"--{0}\r\n" +
"Content-Disposition: form-data; name=\"{2}\"; filename=\"{1}\"\r\n" +
"Content-Type: text/xml\r\n\r\n" +
"{3}\r\n" +
"--{0}\r\n" +
"Content-Disposition: form-data; name=\"{4}\"\r\n\r\n" +
"{4}\r\n" +
"--{0}--",
boundary,
fileName,
formFieldName1,
xml,
formFieldName2);
 
request.UploadData(URI, Encoding.UTF8.GetBytes(data));

Reply

Marsh Posté le 06-03-2005 à 21:21:03   

Reply

Marsh Posté le 09-03-2005 à 22:15:31    

J'ai trouvé cette classe sympa qui respond à ce dont j'avais besoin :
http://www.codeproject.com/csharp/UploadFileEx.asp
 
Cette classe pourrait rendre à service à d'autres... Et oui, je rappele aux égoïstes que quand on trouvé une solution c'est sympa de la donner aux autres !
 
 
Malheureusement, cette classe ne fonctionne pas avec mon cas, donc mon problème doit venir d'ailleurs. Puisqu'elle est supposée fonctionner.

Reply

Marsh Posté le 13-02-2011 à 13:09:02    

petittigre a écrit :

J'ai trouvé cette classe sympa qui respond à ce dont j'avais besoin :
http://www.codeproject.com/csharp/UploadFileEx.asp
 
Cette classe pourrait rendre à service à d'autres... Et oui, je rappele aux égoïstes que quand on trouvé une solution c'est sympa de la donner aux autres !
 
 
Malheureusement, cette classe ne fonctionne pas avec mon cas, donc mon problème doit venir d'ailleurs. Puisqu'elle est supposée fonctionner.


 
Pareil pour moi ça ne marchait pas avec l'exemple donné.
Dans le code php qui permet de copier le fichier il y a une erreur.
Il faut remplacer "userfile" par "uploadfile".
 
En tout cas merci, c'est vraiment l'article que je cherchais !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed