用ASP实现网络照片发布

用ASP实现网络照片发布


2024年6月20日发(作者:)

第25卷第5期 

2012年l0月 

濮阳职业技术学院学报 

Journal of Puyang Vocational and Technical College 

Vo1.25 No.5 

0ct.201 2 

用ASP实现网络照片发布 

苗英恺 

(濮阳职业技术学院实训中心.河南濮阳457000) 

摘 要:本文用ASP程序实现了照片在线浏览、下载等功能,对于需要将大量照片在局域网上发布的单位或部门提供了技术支 

持 

关键词:ASP编程:照片:网络发布 

中圈分类号:TP311 文献标识码:A 文章编号:1672—9161(2012)05—0150—03 

学校教育技术中心保存有大量学校各种活动的 

对应起来。 

浏览照片之前首先要有缩略图文件.这是必须 

照片,各系、部每次需要时,都要派人到教育技术中 

心来查询、挑选、拷贝,十分麻烦。如果能将这些照片 

的。如果不使用缩略图,网络直接传输原照片,然后 

在IE浏览器中缩小显示,速度会慢得难以忍受。 

程序实现的方框图如图1所示。 

在校园网上发布出来,各系、部就随时都可以浏览、 

检索、下载 

为此,笔者首先想到利用 P服务器进行发 

布,但是这种方法只能先将文件夹下载到本机后才 

能进行浏览,不能在线浏览。有的文件夹有上千张照 

片,体积非常庞大,即使在校园局域网内下载。也要 

耗费很长时间。若发现下载的文件夹中根本没有所 

需要的照片,更是令人大失所望。 

于是。笔者设想。能不能用ASP程序实现照片 

在线浏览、下载等功能呢?经过精心的编制和调试, 

乍成要扣开的文件夹的缩 

略图文件夹路 字符书 

上 

调刚asp文件系统细 

及jpeg组 {: 

终于实现了所需要的各种功能。 

Jr 

扫描要打开的文件夹 的 

功能需求 

子文件夹,显示其 标和 

名字, 建立链接。 

该程序要求不使用数据库,在不改变原硬盘文 

件存放位置的前提下,在IE浏览器里直接显示照片 

缩略图和子文件夹。单击缩略图可显示出原照片文 

件,单击子文件夹图标,可显示子文件夹的内容。 

二、功能实现 

Jr 

扫描要打开的文什夹卜的 

照片文件,十成缩略 ,显 

示,许建立链接。 

该源程序放在服务器上.其存放路径为当前路 

径..当前路径下有两个文件夹,一个文件夹名为“照 

片”,存放全部要发布的照片原文件;另一个文件夹 

l 

I注销绀什I 

名为“small一照片”,存放所有照片的缩略图。缩略图 

文件和缩略文件夹名字均采用“small_”前缀+原名 

图1 程序实现方框图 

的形式,这样可以使原图片文件与其缩略图文件一 

收稿日期:2012-05—07 

作者简介:苗英恺(1972一),男,濮阳职业技术学院实训中心副教授,教育技术学硕士,研究方向为计算机辅助教学。 

150— 

功能实现的关键技术有三个方面:①生成原照 

片的缩略图;②扫描并显示一个文件夹中所存放内 

容;③点击子文件夹图标后程序重载入,以显示其内 

容。 

程序中利用aspjpeg组件可生成一个图片文件 

的缩略图。Aspjpeg组件是一款功能强大的基于MS 

IIS环境的图片处理组件,要在服务器端单独安装后 

才能使用。 

利用For Each循环和Folder对象的SubFolders 

属性.对文件夹中的所有子文件夹进行扫描;利用 

For Each循环和Folder对象的Files属性,扫描文件 

夹中的所有图片文件。 

利用Request.QueryString方法,获取到用户要 

打开的子文件夹路径和名字,通过程序的重载人,显 

示子文件夹的内容。 

三、程序清单 

源程序文件命名为zpfb.asp,清单如下: 

<html> 

<head> 

<title>照片浏览</title> 

<style type=”text/css”> 

<!一一 

style4{ 

font-size:l OOpx; 

color"#000099; 

) 

--

> 

</style> 

</head> 

<body> 

<%Server.ScriptTimeOut=1 0000%>7/指 

定脚本在结束前最大可运行多长时间。 

<script language=”javascript”runat=”serv- 

er”> 

function GG2UTF8(str) 

{return enc0deURIC0mp0nent(str)) 

</script> 

<% 

dim currentPath,strDir,backStrDir 

currentPath=Server.MapPath(”.”1 

If Request.QueryString(”strDir”1-…’Then 

strDir=Server.MapPath(”照片”1 

Else 

strDir=currentPath&Request.QueryString(” 

strDir”) 

End If 

backStrDir=Mid(strDir,len(currentPath)+1) 

backStrDir=replace (backStrDir," ” 

\sma11

”),//生成缩略图文件夹路径字符串。 

%> 

<center> 

<% 

Dim my File Object,my Folder,Small Fold— 

er,Item,File Extn,Iteml 

Dim Jpeg //声明变量 

Set myFileObject=Server.CreateObject(” 

Scripting.FileSystem0bject”) 

Set myFolder=myFileObject.GetFolder 

(strDir) 

Set Jpeg=Server.CreateObject fIIPersits. 

Jpeg”)"//NN jpge组件。 

SmallFolder=currentPath&backStrDir 

If myFileObject.FolderExists(SmallFolder)= 

FALSE Then 

myFileObject.CreateFolder SmallFolder 

End If 

Dim numFolder,numFile 

numFolder=0 

numFile=O 

Response.Write”<Table style='word—break: 

break-all ><tr align=center valign=top>’’ 

For Each Item In myFolder.SubFolders 7/显示 

要打开的文件夹下所有子文件夹图标和名字,并对 

其进行计数。 

numFolder=numFolder+1 

Response.Write”<th width=1 33><a href= ? 

strDir=”&Mid(hem,len(currentPath)+1)&” target= 

_

blank>”&”<Img alt= 点击打开 src=./folder.jpg>< 

h4>”&Item.Name&”<br><br></a><,th>” "//folder. 

jpg为文件夹图标文件,可以自行设计,与本程序一 

起存放在服务器同一文件夹下。 

If numFolder Mod 8=0 Then Response. 

Write”</tr><tr align=center valign=top>” 

Next 

151— 

Response.Write”</Table>” 

%> 

Set myFolder=Nothing 

Set myFileObject=Nothing,//注销组件,释放资 

源。 

%> 

</center> 

<%If numFolder<>0 Then Response.Write”< 

br><b>共”&numFolder&”个文件夹</b>”%> 

<br><br> 

<% 

</center> 

</body> 

</html> 

For Each Item In myFolder.Files 7/将文件夹下 以上程序放在校园网服务器上,与存放照片的 

文件夹置于同一个路径下。并在IIS中进行适当的 

所有图片生成133"100像素的缩略图显示,并对其 

计数。 

FileExtn=Lease(Mid(Item.Name,inStrRev(Item. 

Name,”.”))) 

If FileExtn=”.JPg”or FileExtn=”.jpeg”or File— 

Extn=".bmp”or FileExtn=".gif”or FileExtn=”_png”or 

FileExtn=".tiff”or FileExtn=".dxf”or FileExtn=".svg” 

or FileExtn=".pcx”then 

If myFileObjeet.FileExists(SmallFolder&” 

\Small

”&Item.Name)=FALSE Then 

Jpeg.Open Item 7/原图位置 

Jpeg.Width=133,//设图片宽度 

Jpeg.Height=100 设图片高度 

Jpeg.Sharpen 1.130 //设定锐化效果 

Jpeg.Save SmallFolder&”\Small_"&Item. 

Name"//生成缩略图位置及名称。 

En({If 

numFile=numFile+1 

Item1=replace((GG2UTF8(Item)),"%5C”.”/It1 

Response.Write”<a href ̄*./fI&Mid(Item1.1en(re— 

place((GC2UTF8(currentPath)),"%5C”,”/”))+2)&” 

target=一blank>”&”<Img alt= 点击看大图 src=./ff 

&Mid fbackStrDir,2)&”\Small_"&Item.Name&” 

style= border:5px solid white ></a>” "//在该页显示 

缩略图,并设置链接。 

End If 

Next 

If numFile<>0 Then Response.Write”<br><br>< 

h>共”&numFile&”张照片</b>” 

If numFolder=0 and numFile=0 Then Response. 

Write”<p class= style4 > </p><p align= center 

class= style4 ><b><strong>啥都没有!</strong></b>< 

/p>” 

Set Jpeg=Nothing 

l52一 

设置,即可在校园上浏览所有照片了。图2是一个文 

件夹内容的浏览效果。 

四、程序的改进 

Zpfb.asp程序虽然能实现照片的在线浏览功 

能,但要在服务器上先生成缩略图文件。一般第一次 

打开一个文件夹较慢,之后,由于服务器上已存在有 

该文件夹下照片的缩略图,打开速度就快了。为了避 

免由于服务器上没有缩略图文件而造成的打开速度 

慢的问题,我们可以事先在服务器上生成所有照片 

的缩略图。当然不能靠人工点击每一个文件夹来实 

现,而应该通过程序自动实现。 

笔者另外编制了一个专门用来创建所有照片缩 

略图的程序createsmal1.asp。程序运用递归的方法, 

对“照片”文件夹内所有照片文件进行遍历,生成与 

原照片文件存储结构相同的缩略图文件。该程序与 

zpfb.asp程序放在同一文件夹下,每次添加一批新照 

片后.在网上任意一客户端电脑IE浏览器地址栏中 

访问执行一下该程序即可。如果照片数量很多,生成 

缩略图耗费时间会较长,所以可以选择晚上服务器 

空闲时段进行。由于是服务器端程序,客户端访问一 

下陔程序后即可关闭,程序会在服务器端自动执行 

完毕。由于篇幅限制,程序清单不再列出。 


发布者:admin,转转请注明出处:http://www.yc00.com/news/1718843661a2753010.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信