今天在站长站看到一网友写的相册程序,功能挺简单的,看到他用了ASPJPEG生成缩略图,不由想起再用上ASPUPLOAD上传,于是花了一个小时时间完善了他的代码。
以下代码均加有简单的注释,如果你看不懂,请先看ASPJPEG以及ASPUPLOAD的说明文档(E文,希望有心理准备),看不懂的可以问我。
以下是代码:
复制代码 代码如下:
%
if session("admin")>"on" then
Response.Redirect"login.asp"
end if
%>
!--#include file="config.asp" -->
!--#include file="mdb/conn.asp" -->
%
Set Upload = Server.CreateObject("Persits.Upload")
FilePath=Server.MapPath(".")
Count = Upload.Save(FilePathBigPhotoPath) '传大图
SmallFilePath=FilePath SmallPhotoPath
For Each File in Upload.Files
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open (File.Path)
BigFP=BigPhotoPath(File.FileName) '大图相对路径
SFP=SmallPhotoPath"S_"(File.FileName)'小图相对路径
FileSize=File.Size'备写入数据库
'开始判断哪边为长边,以长边进行缩放,并生成小图
imgWidth=Jpeg.OriginalWidth
imgHeight=Jpeg.OriginalHeight
if imgWidth>=imgHeight and imgWidth>120 then
Jpeg.Width=150
Jpeg.Height=Jpeg.OriginalHeight/(Jpeg.OriginalWidth/150)
end if
if imgHeight>imgWidth and imgHeight>113 then
Jpeg.Height=113
Jpeg.Width=Jpeg.OriginalWidth/(Jpeg.OriginalHeight/113)
end if
Jpeg.Sharpen 1, 130
Jpeg.Save (SmallFilePath"S_"File.FileName)
'给大图加上水印(仅对大图加水印)
Jpeg.Open Server.MapPath(""BigFP"")
Jpeg.Canvas.Font.Color = HFF0000
Jpeg.Canvas.Font.Family = "Courier New"
Jpeg.Canvas.Pen.Color = H000000
Jpeg.Canvas.Pen.Width = 2
Jpeg.Canvas.Brush.Solid = False
Jpeg.Canvas.Font.BkMode = "Opaque" '处理平滑
Jpeg.Canvas.PrintText 10, 10, "www.LuanLuan.cn"
'Jpeg.Canvas.DrawBar 1, 1, 100, 100
Jpeg.Save Server.MapPath(BigFP)
Next
strSQL= "insert into desktop ([name],typeid,zhuanti,jj,[time],imgh,imgw,filesize,url,surl) values ('"Upload.Form("name")"','"Upload.Form("typeid")"','"Upload.Form("zhuanti")"','"Upload.Form("photointro")"','"Now()"','"imgheight"','"imgwidth"','"FileSize "','"BigFP"','"SFP"')"
conn.execute strSQL
set upload=nothing '删除对象
typeid=Request.QueryString("typeid")
response.write "SCRIPT language=JavaScript>alert('文件上传成功,返回!');"
response.write "this.location.href='addfile.asp?typeid="typeid"';/SCRIPT>"
function HTMLEncode2(fString)
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) CHR(10), "/P>P>")
fString = Replace(fString, CHR(10), "BR>")
HTMLEncode2 = fString
end function
%>
您可能感兴趣的文章:- Asp无组件生成缩略图的代码
- ASP保存远程图片到本地 同时取得第一张图片并创建缩略图的代码
- ASP.Net 上传图片并生成高清晰缩略图
- asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图
- Asp.Net平台下的图片在线裁剪功能的实现代码(源码打包)
- ASP组件AspJpeg(加水印)生成缩略图等使用方法
- asp.net 图片超过指定大小后等比例压缩图片的方法
- ASP.NET简单好用功能齐全图片上传工具类(水印、缩略图、裁剪等)
- ASP固定比例裁剪缩略图的方法