0

この関数を特定のファイル拡張子 (私が定義したもの) でのみ使用したいです。ASP.netでこれを行うにはどうすればよいですか?

基本的に、次のコードにより、ファイルをこのページにポイントするだけで、任意のファイルをダウンロードできるようになります。ファイルに.aspx?file={path to file + file} 配列からの拡張子がない場合、私がやりたいことは、これから終了することです。定義する必要があります。例: 次の拡張子のみを以下のコードでダウンロードできるようにしたい: .jpg、.jpeg、.bmp、.png、.gif、.pdf、.doc、.docx

<%@ 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")
    If strRequest <> "" Then
        Dim path As String = Server.MapPath(strRequest)
        Dim file As System.IO.FileInfo = New System.IO.FileInfo(path)
        If file.Exists Then
            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
        Else
            Response.Write("This file does not exist.")
        End If
    Else
        Response.Write("Please provide a file to download.")
    End If
End Sub
</script>

これを変更して、この関数がすべてのファイル拡張子で動作しないようにするにはどうすればよいですか。

私は、この行に何かを入れる必要があると考えています: If file.Exists Then 次のようなものに変更する必要があります: If file.Exists AND file.Extension...

4

1 に答える 1