Upload di file via HTTP POST in ASP.NET

datelunedì 13 ottobre 2008 alle 18.25  - posted by Manuel Scapolan in ASP.NET

In una applicazione web ASP.NET un file viene normalmente caricato via HTTP POST attraverso un HtmlInputFile con runat="server" oppure tramite la sua controparte server FileUpload (introdotto con la versione 2.0 del .NET Framework). Lato code-behind si accede poi al file tramite la proprietà PostedFile identica per entrambi i controlli.
Se non abbiamo a disposizione una pagina web con i controlli sopra citati, ma la richiesta ci arriva da un applicazione esterna che utilizza ad esempio l'API Windows Internet (WinINet), dobbiamo leggere i dati direttamente dalla Request e precisamente dalla proprietà Files. Ecco come fare:

// Request with enctype="multipart/form-data"
// Destination path from Web.config
string path = Server.MapPath(ConfigurationManager.AppSettings["path"]);
foreach (string key in Request.Files.AllKeys)
{
  HttpPostedFile file = Request.Files[key];
  string fileName = System.IO.Path.GetFileName(file.FileName);
  file.SaveAs(path + fileName);
}

tagsTags:

About me

manuel scapolanSono un consulente informatico. Nel 2004 terminati gli studi in Ingegneria Informatica (1° livello), ho iniziato come freelance collaborando con una ditta di consulenza informatica ed una agenzia di marketing e comunicazione nello sviluppo di applicazioni web. Attualmente divido il lavoro di sviluppatore e progettista web con attività di formazione nel settore della programmazione.
View Manuel Scapolan's profile on LinkedIn

Follow me on Follow manuelscapolan on Twitter

Calendario


<<  agosto 2010  >>
lumamegivesado
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

Disclaimer

Eccetto dove diversamente specificato, i contenuti di questo sito sono rilasciati mediante:
creative commons
Attribuzione: Non commerciale
Condividi allo stesso modo. R.2.5

Books (a bit more about my library)

Domain Driven Design - Eric Evans Applying Domain-Driven Design and Patterns - Jimmy Nilsson Refactoring to Patterns - Joshua Kerievsky Design Patterns -  Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides Code Complete Second Edition - Steve McConnell Patterns of Enterprise Application Architecture - Martin Fowler Agile Principles, Patterns, and Practices in C# - Robert C. Martin xUnit Test Patterns - Gerard Meszaros Refactoring - Martin Fowler CLR via C# Second Edition - Jeffrey Richter Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries - Krzysztof Cwalina, Brad Abrams Don't make me think! - Steve Krug Bulletproof Ajax - Jeremy Keith

Manuel Scapolan Copyright © 2007 - 2010 - Tutti i diritti riservati - Powered by BlogEngine.NET 1.5.0.7 - silk icons by famfamfam - Time CET