2009-05-22 9 views
2

Je vais m'intégrer à une application existante qui aura un fichier joint dans sa demande initiale de publication HTTP vers notre application ASP.NET.Création d'une requête HttpPost de fichier

J'ai construit la logique pour extraire le fichier de HttpRequest.Files et même testé à l'aide de JMeter. Ce que je veux faire est de construire une page ASP.NET autonome qui peut diriger l'utilisateur vers la première page de notre application, avec l'option d'inclure le fichier dans la demande ou non. Normalement, je me contenterais d'un Response.Redirect pour accéder à une autre page, mais je ne peux pas déterminer un moyen de joindre le fichier de cette façon.

quelle est la meilleure façon d'y parvenir?

Répondre

0

Si possible, contourner l'ensemble « formulaire électronique » pour votre page initiale et il suffit de faire un HTTP POST à ​​votre autre page. C'est une sorte de tracas, surtout si votre site utilise des pages principales et que presque tout est imbriqué dans une balise.

+0

C'est fondamentalement l'approche que j'ai prise, en créant une page HTML simple avec une entrée de fichier et deux boutons, pas idéal mais cela fonctionne très bien. – TygerKrash

0

Eurgh, une affaire difficile en effet. Il est clair que vous ne pouvez pas rediriger car un fichier ne peut être envoyé que via une opération http POST. Les redirections aboutissent à un GET. Peut-être que votre page initiale asp.net effectuera la première publication avec le fichier côté serveur, puis diffusera la page résultante à l'utilisateur en prenant soin de définir les cookies qui vous ont été donnés pour assurer que la session est transmis à l'utilisateur (puisqu'il appartenait à l'origine au code asp.net côté serveur affichant le fichier).

Cela peut fonctionner ou non selon la façon dont l'application cible traite les demandes entrantes. S'il y a un serveur proxy ou un équilibreur de charge, les choses peuvent devenir difficiles, surtout si vous utilisez des sessions sticky et/ou si vous regardez l'adresse IP de la requête entrante.

En tout cas, juste mon 0.02c.

Bonne chance! modèle

-Oisin

Questions connexes