Avatar billede c-lund Nybegynder
17. marts 2008 - 09:54 Der er 5 kommentarer

Hjælp til fejl

Hej. Jeg bruger følgende kode til at lave mine brugere downloade filer fra mit site. Det er relativ små filer, så der har ikke været et problem indtil nu. Men jeg har lagt en 1,5 mb *.doc fil op, og den giver følgende fejl når man henter den.
---
Response objecterror 'ASP 0251 : 80004005
Response Buffer Limit Exceeded
line 48
Execution of the ASP page caused the Response Buffer to exceed its configured limit.
---
<%
    Response.Buffer = true
   
    'On Error Resume Next
    Fil = Request.Querystring("Fil")
    Sti = Request.Querystring("Sti")
   
    FilePath = "" & strPhysicalPath & "" & virPth & "" & Sti & "\" & Fil
    FilePath = replace(FilePath, "/", "\")
   
    Set st = Server.CreateObject("ADODB.Stream")
   
    st.Type = 1
    st.Open
    st.LoadFromFile FilePath
   
    Response.Clear
   
    response.ContentType = "text/HTML"
    response.ContentType = "image/GIF"
    response.ContentType = "image/JPEG"
    response.ContentType = "text/plain"
       
    Response.AddHeader "content-disposition", "attachment;filename=" & Fil & ""
   
Line 48->Response.BinaryWrite st.Read()
   
    st.Close
    Set st = Nothing
%>
Avatar billede fennec Nybegynder
17. marts 2008 - 10:09 #1
Du burde have en limit på 4 Mb (standard), men det kan selvfølgelig være det er ændret til noget mindre.

Normalt får man kun fejlen i forbindelse med store/uendelig løkker, og her klares problemet med at forhindre uendelig løkker, eller hvis det er store løkker, så smide en Response.Buffer = False i toppen af siden eller lave en response.flush inde i løkken.

Disse løsninger er dog rettet mod tekst som fylder for meget, og ikke filer så jeg tror ikke de vil hjælpe dig. Eneste af disse løsninger, som evt kan hjælpe er Response.Buffer = False.

Den rigtige løsning er at rette metabase.xml filen på serveren, men det kræver at du har adgang til den, hvilket du ikke har, medmindre det er din egen server. Her skal du finde AspBufferingLimit attributten og sætte den op.
Avatar billede c-lund Nybegynder
17. marts 2008 - 10:26 #2
Hvis jeg retter til Response.Buffer = False for jeg følgende fejl:

Response object error 'ASP 0159 : 80004005'
Buffering Off
/medlemmer/hentfil.asp, line 38
Buffering must be on.

Men hvis jeg ikke kan ændre størrelsen for buffer limet, er der så en anden måde hvorpå mine brugere kan få en download box frem i stedet for bare at få vist filen
Avatar billede c-lund Nybegynder
17. marts 2008 - 12:27 #3
Filen som jeg tidligere sagde fyldte 1,5mb fylder 7,5 har bare læst forkert. så hvis den ikke kan klare mere end 4 mb, så er det jo derfor. Men hvad gør man så
Avatar billede fennec Nybegynder
17. marts 2008 - 12:37 #4
Så skal du rette i metabase filen, som jeg skrev til sidst i min kommentar. Men det kan du som sagt kun gøre hvis du har adgang til serveren. Filen ligger nemlig i Windows mappen, og IIS'en skal være sat op til at godtage realtime redigering af filen, ellers skal den helt genstartes.

Første spørgsmål til dig er derfor: Har du fuld adgang til serveren??
Avatar billede c-lund Nybegynder
17. marts 2008 - 13:05 #5
Nej det har jeg desværre ikke, det ligger hos et webhotel.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester