Veröffentlichen Sie mehrere Dateien und Formularwerte mit .NET (Konsolenanwendung)

8

Ich möchte mehrere Dateien POST an ein CGI-Skript senden, alle in one HTTP-Anfrage. Ich glaube, das erfordert einen HTTP-Post mit multipart/form-data encoding. Hier ist ein Beispiel-HTML-Formular, das die erforderlichen Informationen sendet; Ich muss die gleichen Informationen über die Anwendung senden:

%Vor%

Bitte beachten Sie, dass es sich bei der Anwendung um eine C # .NET GUI (oder Konsolen) -Anwendung und nicht um eine ASP.Net-Anwendung handelt.

    
Salman A 04.02.2012, 17:23
quelle

2 Antworten

17

Ich habe das letztes Jahr gemacht, basierend auf einem Code, den ich gefunden habe. Es unterstützt genau das, was Sie wollen, sowohl Dateien als auch Werte.

Hier ist die Klasse HttpForm :

%Vor%

Sie können es wie folgt verwenden:

%Vor%

Lass es mich wissen, wenn es für dich funktioniert.

    
JP Richardson 04.02.2012, 19:08
quelle
1

Ich musste letztes Jahr bei einem Projekt dasselbe tun. Nachdem ich mich umgesehen habe, habe ich Folgendes gefunden:

Dateien mit HTTPWebrequest hochladen (multipart / form-data)

Die zweite Antwort sollte das sein, wonach Sie suchen. Als ich versuchte, dies zu tun, geriet ich in Schwierigkeiten, die genaue Methode zum Laufen zu bringen. Das Problem ist, dass C # .NET keine Unterstützung für mehrere Schlüssel / Wert-Paare in einem POST hat. Daher müssen Sie den HTTP-Anforderungs-Content-Header selbst erstellen. Ich glaube, die Antwort in den obigen Link schreibt es direkt in den Anfrage-Stream. Ich konnte den unter dem Link gefundenen Code konvertieren, um den Header zu erstellen, und schrieb dann die Bytes in den Anforderungsstrom.

Ссылка

Mein Code sah ungefähr so ​​aus (ich musste ihn unten ändern, um die Lesbarkeit zu verbessern, da viele davon als Teil des gesamten Projekts abstrahiert wurden, so dass es möglicherweise nicht perfekt syntaktisch ist).

%Vor%

Beachten Sie, dass dies nur eine Kopfzeile für den Upload einer einzelnen Datei vorbereitet.

    
kevintodisco 04.02.2012 18:42
quelle

Tags und Links