0

我有一个脚本,显示文件夹中的一些文件。

后面的代码

Sub fileinfo()
    Dim objDI As New System.IO.DirectoryInfo(Server.MapPath("upload/files/"))
    Dim allFile As New ArrayList()
    allFile.AddRange(objDI.GetFiles("*.png"))
    allFile.AddRange(objDI.GetFiles("*.jpg"))
    allFile.AddRange(objDI.GetFiles("*.bmp"))
    allFile.AddRange(objDI.GetFiles("*.gif"))
    allFile.AddRange(objDI.GetFiles("*.pdf"))
    allFile.AddRange(objDI.GetFiles("*.doc"))
    allFile.AddRange(objDI.GetFiles("*.docx"))

    Me.showfiles.DataSource = allFile
    Me.showfiles.DataBind()
End Sub

主要代码

<ul class="thumbnails">
   <asp:DataList ID="showfiles" runat="server" RepeatColumns="6" CellPadding="10" RepeatLayout="flow">
         <ItemTemplate>
               <li class="span2"><a class="thumbnail" href="#"><asp:ImageButton ID="folderfiles" runat="server" ImageUrl='<%# string.Format("upload/files/{0}", DataBinder.Eval(Container.DataItem,"Name")) %>' ToolTip='<%# Bind("Name") %>' height="82" width="119" /></a></li>
         </ItemTemplate>
  </asp:DataList>

适用于图像,但如果我添加像 pdf 文件这样的文档,我会得到这个。 http://i.imgur.com/vPVvb.png

然后它添加文本框,我如何添加 if statsment 或可以添加的内容:

pdficon.jpg 用于 .pdf 文件

.doc 文件的 docicon.jpg

zipicon.jpg 用于 .zip 文件

因此,如果文件是图像,那么它就像现在一样工作,而当文件是 pdf 或 doc 文件时,它会使用图标图像并显示它!?

.....编辑……编辑……编辑…………编辑…………编辑…………编辑

感谢它的作品 http://i.imgur.com/6S4k7.png

但是当我单击其中一个文件时,我得到了错误页面,没有错误号,而是带有文本。

.......... <%@ Page EnableEventValidation="true" %> ClientScriptManager.RegisterForEventValidation .....

我无法下载/查看图像/pdf 文件。

4

2 回答 2

2

您可以像这样实现一个返回您的图像 url 的方法:

Private Function getImageUrl(filename As String) As String

    Select Case Path.GetExtension(filename)
        Case "pdf"
            Return "pdficon.jpg"
        Case "doc"
            Return "docicon.jpg"
        Case "zip"
            Return "zipicon.jpg"
    End Select

    Return String.Format("upload/files/{0}", filename)
End Function

并在您的标记中使用它:

…… ImageUrl='<%# getImageUrl(DataBinder.Eval(Container.DataItem,"Name")) %>'_

于 2012-08-26T14:39:58.487 回答
0

在不同的集合中提取这些不同的文件类型并分别处理它们会更干净吗(即在带有特定缩略图的单独显示循环中)?

或者使用字典而不是列表,这样您就可以在决定显示哪个图像时存储文件类型和查询。

于 2012-08-26T14:41:47.783 回答