日期:2008-11-25  浏览次数:20758 次

  2.获取图片路径

  由于不只一张图片,以及图片需分类存放,我们在数据库中设计了一个存放图片相对路径的字段ImgURL。我们把上传的图片都放在一个名为images的文件夹中(至于如何无组件上传图片心晴就不在多说了)。现在我们先设计一个ShowImg.ASP页面用来显示缩略图及相关信息。具体设计如下:


  图片:

  图片格式:

  图片尺寸:

  图片大小:

  点击次数:

  下面,我们获取图片的绝对路径。代码如下:

<%
'/////获取ShowImg.ASP的绝对路径/////
Dim curFile
curFile=Server.mappath(Request.servervariables("PATH_INFO"))
Dim curfilename,filename

'/////图片相对路径(存于数据库中)
cufilename=rs("ImgURL")

'/////因为ShowImg.ASP与images在同一目录,所以我们用instrrev获取images的路径/////
filename=left(curFile,instrrev(curFile,"\"))&cufilename

'/////建立GPS类实体/////
Dim GetPicSize
Set GetPicSize=new GPS
Set fs=Server.CreateObject("Scripting.FileSystemObject")

'/////获取图片类型/////
Dim PicSuffixName
PicSuffixName=fs.GetExtensionName(filename)
Dim PD '//Picture Dimension
Dim PWidth,PHeight
Select Case PicSuffixName
Case "gif","bmp","jpg","png":

'/////调用GPS通用类中的GetImageSize函数获取图片尺寸/////
PD=GetPicSize.GetImageSize(filename)
PWidth=PD(1) '//获取图片宽度
PHeight=PD(2) '//获取图片高度
Case "swf"
PD=GetPicSize.GetImageSize(filename)
PWidth=PD(1) '//获取Flash宽度
PHeight=PD(2) '//获取Flash高度
Case Else
End Select
Set fs=Nothing
Set GetPicSize=Nothing
%>


  将上面的代码复制到<body>的上面就OK了!

  当然,有人会说,获取路径不一定要用PATH_INFO,直接用server.mappath()不就可以了嘛,呵呵,萝卜青菜各有所爱,主要是我用PATH_INFO可以实现FSO的一些功能而用server.mappath()没有搞定,所以一直使用这个。