如何读取thumbs.db里的缩略图?(downmoon)

问题:如何读取thumbs.db里的缩略图?

请先到这里下载一个控件

ThumbDBLib

A C# library for reading thumbs.db file

http://www.petedavis.net/MySite/DynPageView.aspx?pageid=31

引用dll,这里提供了 VB和C#代码,一个Thumbs.aspx,添加一个ID为plcThumbsPlaceHolder

<!-- {cps..0}-->

VB主要代码:


<!-- {cps..1}--> Dim ThumbDb As String = Server.MapPath( " . " ) & " /thumbs.db "
If System.IO.File.Exists(ThumbDb) Then

Dim ThumbLib As New ThumbDBLib.ThumbDB(ThumbDb)

If Not Request.QueryString( " thumb " ) Is Nothing Then

Dim Thumb As String = Request.QueryString( " thumb " )
Dim ThumbData As Byte () = ThumbLib.GetThumbData(Thumb)

Response.Clear()
Response.ContentType
= " image/ " & System.IO.Path.GetExtension(Thumb).ToLower.Replace( " . " , "" )
Response.BinaryWrite(ThumbData)
Response.Flush()
Response.End()

Else

For Each thumb As String In ThumbLib.GetThumbfiles

If System.IO.File.Exists(Server.MapPath( " . " ) & " / " & thumb) Then

' CoulduseaLiteralcontrolhereifyouwantmore
' controloverthehtml.
Dim ThumbImage As New System.Web.UI.WebControls.Image

ThumbImage.ImageUrl
= " thumbs.aspx?thumb= " & Server.UrlEncode(thumb)
ThumbImage.ImageAlign
= ImageAlign.Top
ThumbImage.AlternateText
= thumb
ThumbImage.BorderStyle
= BorderStyle.Outset
ThumbImage.BorderWidth
= New Unit( 1 )
ThumbImage.Attributes.Add(
" hspace " , " 4 " )
ThumbImage.Attributes.Add(
" vspace " , " 4 " )
ThumbImage.Attributes.Add(
" onclick " , " window.location.href=' " & thumb & " '; " )
ThumbImage.Style.Add(
" cursor " , " hand " )

plcThumbs.Controls.Add(ThumbImage)

End If

Next

End If

ThumbLib
= Nothing

Else

Response.Write(
" Thumbs.dbNotFound! " )

End If

C#主要代码:


浏览效果如图:

完毕。
源码可以在这里 下载

你可能感兴趣的:(缩略图)