Nagy fájlok feltöltése a FileUpload vezérlővel

Az ASP.NET a 2.0 óta tartalmazza a FileUpload vezérlőt. Használata elég egyszerű, például így lehet a feltöltött fájlokat a webalkalmazás files nevű mappájába menteni:

<form id="mainForm" runat="server">
    <asp:fileupload ID="upload" runat="server">
    </asp:fileupload>  
    <br />
    <asp:Button ID="btnOK" runat="server" Text="Feltöltöm" onclick="btnOK_Click" />  
</form>
protected void btnOK_Click( object sender, EventArgs e )
{
    this.upload.SaveAs( Path.Combine( Server.MapPath( "~/files" ), this.upload.FileName ) );
}

Az első meglepetés általában akkor éri az embert, amikor nagy fájlokat szeretne feltölteni, ennek ugyanis exception a következménye. A jelenség oka, hogy a feltöltött fájl POST-ként utazik a szerverig, a POST-olható adatok maximális mérete azonban korlátozott.

A következő meglepetés általában az, hogy ha valaki lassan (sokáig) tölt fel egy fájlt, például modemmel, akkor annak szintén kivétel a vége. Itt az a magyarázat, hogy egy kérés feldolgozási ideje szintén korlátozott, és a feltöltő ezt lépi túl. (Ennek az az értelme, hogy a problémás, például végtelen ciklusban futó válasz-generáló szálakat a rendszer kilövi.)

Mindkét limit állítható az asp.net runtime átparaméterezésével. Erre például a web.config-ban van lehetőség:

<system.web>
    ...
        
    <!--
        maxRequestLength : "feltoltheto" tartalom max merete kilobyteban
        executionTimeout : keres kiszolgalasanak max ideje masodpercben
    -->
    <httpRuntime maxRequestLength="1024000" executionTimeout="3600" />
</system.web>


Dávid Zoltán

Dávid Zoltán Mérnök Informatikusként végeztem a BME-n, jelenleg webfejlesztéssel és gépi tanulással foglalkozom.

2008.02.22. 8:38:38 | Permalink | Hozzászólások: 0 | Tárgyszavak:


  • Lockdown Policy Prevents This Request

    Balássy György (MS RD, ASP.NET MVP, MCTS) Az egyik webalkalmazásunkkal kapcsolatban több megkeresés érkezett, hogy a felhasználókat nagyon zavarja a sok tanúsítvány figyelmeztetés, ezért jó lenne a Root CA tanúsítványát közvetlenül letölthetővé tenni a bejelentkező oldalról. Fogtam hát a tanúsítványkiadó tanúsítványát .cer formátumban, felmásoltam a webszerverre, majd kissé meglepődve bámultam a böngészőben megjelenő 404 – Not Found hibaüzenetet. Tovább »
  • Informatika Tisztán - letöltések

    Balássy György (MS RD, ASP.NET MVP, MCTS) Javában zajlik az Informatika Tisztán rendezvénysorozat, akit érdekel a csoportmunka, még van lehetősége megtekinteni az előadásokat valamelyik helyszínen. Tovább »


Írja meg Ön is véleményét!


Hozzászólásokat csak regisztrált, bejelentkezett felhasználóktól tudunk elfogadni!

Hozzászólások