Avatar billede agertoft Nybegynder
09. december 2005 - 10:22 Der er 3 kommentarer og
1 løsning

Download af fil gennem getFile.aspx

Jeg har et site, hvor jeg gerne vil beskytte nogle filer fra at blive downloaded med mindre man er logget ind. Derfor har jeg lagt en filstruktur uden for IIS'en, da jeg heller ikke er interesseret i at man skal kunne downloade filen hvis man kender den rigtige sti.

Jeg har lavet følgende side, som håndterer dette:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            Dim file As String = Request.QueryString("file")
            GetFileToDownload(file)
        Catch ex As Exception
            Response.Write("Oops...contact the admin!")
        End Try
    End Sub

    Public Sub GetFileToDownload(ByVal fullpath As String)

        Dim lastIndex As Int32 = fullpath.LastIndexOf("\") + 1
        Dim strFileName As String = fullpath.Substring(lastIndex, fullpath.Length - lastIndex)

        If IO.File.Exists(fullpath) Then
            Dim fi As New FileInfo(fullpath)
            Dim filename As String = ""

            ' Connect to database to track number of downloads
            Response.Clear()
            Response.ContentType = "application/zip"

            Response.AppendHeader("Content-Length", fi.Length.ToString())
            'Response.AddHeader("content-disposition", "attachment; filename=\"" + strFileName + "\"");
            Response.AddHeader("content-disposition", "attachment; filename=" + strFileName)

            Response.WriteFile(fullpath)

            Response.End()
        End If

        Response.Write("<h1>No file found!</h1>")
        Response.End()
    End Sub 'GetFileToDownload
End Sub


Mit problem er, at når downloadboksen kommer frem, så står den bare og kører uden at filen bliver downloadet. Går jeg ind og debugger, fejler den på Response.WriteFile(fullpath) og siger "Access to the path "c:\minstiudenforIIS\testFile.zip" is denied."

Jeg har fået metoden til at virker med filer indenfor IIS'en. Men hvorfor virker det ikke her, og hvordan løser jeg problemet?
Avatar billede agertoft Nybegynder
09. december 2005 - 10:32 #1
Jeg har givet ASPNET brugeren adgang til mappen...
Avatar billede dr_chaos Nybegynder
09. december 2005 - 10:44 #2
har du erstattet bruger rettigheder på under objekter i mappen ?
altså har aspnet brugeren adgang til testfile.zip.
Avatar billede agertoft Nybegynder
09. december 2005 - 10:51 #3
Lige netop den fil jeg testede med havde ikke adgang. Alle andre havde. Og nyt filer, der bliver kopieret derind har ASPNET også adgang til... så nu virker det :) Tak for svaret, der opklarede det.. læg et svar..
Avatar billede dr_chaos Nybegynder
09. december 2005 - 10:58 #4
svar :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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