margar-0Medlem sedan nov. 200362 inlägg
Då jag ska ladda upp filer använder jag mig av kontrollen HtmlInputFile. Jag får fel då jag laddar upp stora filer som tex en film. Efter att ha hämtat filen med kontrollen klickar jag på en knapp som ska ladda upp filen. Där har jag en felkontroll som kontrollerar om filen är större än 2mb.
Problemet är att suben aldrig körs om det är för stor fil, utan jag skickas till en sida med samma adress men med följande fel:
"Sidan du söker efter är inte tillgänglig för tillfället. Det kan bero på tekniska problem med webbsidan eller så behöver du justera inställningarna för webbläsaren."
Ett litet exempel:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If filHamtaFil.PostedFile.ContentLength > 20000 Then
Response.Write("hej")
End If
End Sub
1. Har PostedFile någon max filstorlek som man får ladda upp?
2. Varför körs inte suben?
PMedlem sedan jan. 20012 107 inlägg
drunken_master skrev:
sätt maxRequestLength i web.config till den storlek du behöver.
<location>
<system.web>
<!-- Max upload filstorlek-->
<httpRuntime maxRequestLength="8192" />
margar-0Medlem sedan nov. 200362 inlägg
Skrev in detta i web.config:
<httpRuntime maxRequestLength="8192" />
Men får fortfarande samma fel som jag beskrev ovan. Varför?
margar-0Medlem sedan nov. 200362 inlägg
Är det ingen som har varit med om något liknande eller har någon lösning på problemet?
fredrikMedlem sedan dec. 19991 082 inlägg
Hur stor fil försöker du ladda upp?
Värdet du anger är i "KB", dvs. nu har du satt gränsen till ca 8Mb.
Du får alltså öka på det värdet om du vill kunna ladda upp ännu större filer (så att du själv kan sköta valideringen av storleken).
margar-0Medlem sedan nov. 200362 inlägg
Problemet är att jag inte kan ta emot filen. Jag har en FileField kontroll där jag hämtar tex en bild. Sen har jag en knapp för att ladda upp bilden till servern, men det är här problemet uppstår. Suben för att
"Ladda upp fil" körs aldrig eller med andra ord ingeting körs i code-behind så jag kan inte kontrollera något felmedelande.
Jag skickar med web.config så kanske ni kan se om den ser okej ut, det kanske är den som spökar.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<location>
<system.web>
<httpRuntime maxRequestLength="4096"></httpRuntime>
<compilation defaultLanguage="vb" debug="true">
<assemblies>
<add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.1.5000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
<add assembly="CrystalDecisions.ReportSource, Version=9.1.5000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
<add assembly="CrystalDecisions.Shared, Version=9.1.5000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
<add assembly="CrystalDecisions.Web, Version=9.1.5000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
</assemblies>
</compilation>
<customErrors mode="RemoteOnly" />
<authentication mode="Windows" />
<authorization>
<allow users="*" /> <!-- Allow all users -->
</authorization>
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false" timeout="20" />
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
<pages validateRequest="false" />
</system.web>
</location>
</configuration>
I suben ser felkontrollen ut så här:
If FileField.PostedFile.ContentLength > 4096 Then
Visa felmeddelande
Else
Ladda upp bild till servern
End If
fredrikMedlem sedan dec. 19991 082 inlägg
Ja, men du måste fortfarande ställa in i web.config att du vill kunna ta emot filer större än 4MB...
Ändra tex:
<httpRuntime maxRequestLength="40960"></httpRuntime>
Så tillåter du 40MB, sen är det ju upp till dig att berätta för användaren om det är en för stor fil eller inte.