Avatar billede askalot Mester
25. februar 2009 - 02:28 Der er 3 kommentarer og
1 løsning

[String] Hjælp til check af fil-endelse

Hej..

Jeg har et download script som virker fint.. problemet er at den kan downloade _alle_ type filer..hvilket gør den usikker.

Jeg kunne godt tænke mig det sådan at jeg manuelt kunne tilføje filendelser som er tilladt at blive downloadet.

Evt ved at bruge select Case , er bare ikke helt sikker på hvordan jeg splitter strengen ad..

Mit script indtil videre: http://jotbot.dk/download.aspx.txt
Avatar billede askalot Mester
25. februar 2009 - 05:31 #1
fandt ud af det selv =)
Avatar billede Slettet bruger
25. februar 2009 - 10:55 #2
Hvad fandt du frem til hvis evt. andre skulle bruge det?
Avatar billede askalot Mester
25. februar 2009 - 11:07 #3
jow..asso.. noget i stil med:


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
Avatar billede askalot Mester
25. februar 2009 - 11:08 #4
hele scriptet:


<%@ 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")
    '-- Copy this file to the specific folder --
    '-- if something was passed to the file querystring
    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 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