Hallo,
Gibt es eine Möglichkeit einen Upload einer Datei in C# über das multipart/form-data zu realisieren?
Beispielsweise habe ich die Seite http://www.uppix.net auf der ich eine Bilddatei bequem über den Browser hochladen kann. Das möchte ich aber nun automatisiert in C# schaffen.
Wenn ich eine Bilddatei dort hochlade sieht der HTTP header folgendermaßen aus:
http://uppix.net/
POST / HTTP/1.1
Host: uppix.net
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://uppix.net/
Cookie: __utma=63420011.1889689315.1349261493.1349261493.1349274129.2; __utmz=63420011.1349261493.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); PHPSESSID=7bog2k2l0q9r1qrumpmo3e8j41; __utmb=63420011.1.10.1349274129; __utmc=63420011
Content-Type: multipart/form-data; boundary=---------------------------41184676334
Content-Length: 320286
-----------------------------41184676334
Content-Disposition: form-data; name="myimage"; filename="angel.png"
Content-Type: image/png
‰PNG
HTTP/1.1 200 OK
Date: Wed, 03 Oct 2012 14:22:48 GMT
Server: Apache/2.2.22 (Debian)
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: unlinked=0; expires=Wed, 03-Oct-2012 13:22:49 GMT; path=/
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 3129
Connection: close
Content-Type: text/html; charset=UTF-8
Wäre nett wenn ihr mir helfen könntet. Danke schon mal im Vorraus.
🙂
Hallo Squarew00t
Nutzt du ASP.NET oder ASP.NET MVC?
In ASP.NET hast du das FileUploadControl, in ASP.NET MVC über dessen Infrastuktur (HowTo: Fileupload mit ASP.NET MVC).
In einer Windows Anwendung bspw. mit dem WebClient.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
Danke für die Mühe, allerdings suche ich etwas, womit ich quasi als Client auf einer Seite wie www.uppix.net eine bestimmte Datei über ein Programm hochladen kann.
Also ein Programm, welches sich wie ein Browser verhält und eine bestimmte Datei über HTTPWebRequest hochläd.
Ich weiß, meine Fragestellung war ein bisschen schwammig, tut mir Leid :S
🙂
Hallo Squarew00t
WebClient, der WebRequest nutzt und abstrahiert oder direkt per WebRequest ist die Lösung.
Das nächste Mal bitte das Problem von Anfang an klarer beschreiben, danke.
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011