Avatar billede askalot Mester
26. august 2009 - 23:52 Der er 5 kommentarer og
1 løsning

Tvunget download - problem med større filer

Hej Eksperter

Jeg har i et stykke tid brugt en download script, men det fejler når jeg prøver at hente større filer.. (f.eks 76 mb =P )

scriptet ser således ud.

<%@ Page language="vb" runat="server" explicit="true" strict="true" %>
<script language="vb" runat="server">
Sub Page_Load(Sender As Object, E As EventArgs)
    Dim strRequest As String = Request.QueryString("file")
    Dim fileExt As String = Right(strRequest,len(strRequest)-InStrRev(strRequest,"."))
    Dim messageTxt As String = "Please provide a file to download."
    select case fileExt
        case "jpg","bmp","png","wav","mp3","flv","html","htm","mp4","avi","mpeg","mpg","mov","wmv","pdf","txt","doc","rtf","xls","zip","rar"
        case Else
        messageTxt = "Not Allowed"
        strRequest = ""
    end select
   
    If strRequest <> "" Then
        'get absolute path of the file
        Dim path As String = Server.MapPath(strRequest)
        'get file object as FileInfo
        Dim file As System.IO.FileInfo = New System.IO.FileInfo(path)
        '-- if the file exists on the server
        If file.Exists Then
            'set appropriate headers
            Response.Clear()
            Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name)
            Response.AddHeader("Content-Length", file.Length.ToString())
            Response.ContentType = "application/octet-stream"
            Response.WriteFile(file.FullName)
            Response.End
        'if file does not exist
        Else
           
            Response.Write("This file does not exist.")
        End If
    'nothing in the URL as HTTP GET
    Else
        Response.Write(messageTxt)
    End If
End Sub
</script>
Avatar billede arne_v Ekspert
27. august 2009 - 00:05 #1
Maaske overskrider du limit i web.config !?!?
Avatar billede arne_v Ekspert
27. august 2009 - 00:07 #2
F.eks. httpRuntime executionTimeout
Avatar billede askalot Mester
27. august 2009 - 01:02 #3
Hmm..tak for tippet.. men det er vist ikke det.. har tilføjet Web.Config


<?xml version="1.0"?>
<configuration>
    <system.web>
          <httpRuntime maxRequestLength="2097151" executionTimeout="3600"/>
        <customErrors mode="Off"/>
      </system.web>
</configuration>


Men det hjælper desværre ikke =/

Jeg tror jeg har fundet frem til at det er når filen er større end ca. 64 mb
Avatar billede askalot Mester
27. august 2009 - 01:19 #4
Hmm fandt denne.. ændrede Response.WriteFile(file.FullName)
til Response.TransmitFile(file.FullName)

Det virker, men nu er der to mindre ting i vejen =/

1. "navnet" på vinduet hedder "download2.aspx" , kan jeg ændre det dynamisk?
2. "pop up" vinduet kommer ikke øverst =/

Test:
http://www.nfweb.dk/Movies/VedVerdensEnde/Site/site/download2.aspx?file=downloads/test.zip
Avatar billede askalot Mester
27. august 2009 - 01:20 #5
Næh, når jeg tester her, så kommer popup'en op foran.. så glem det.
Avatar billede askalot Mester
27. august 2009 - 01:34 #6
lukker
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



IT-JOB