利用ASPUPLOAD,ASPJPEG实现图片上传自动生成缩略图及加上水印

所属分类: 网络编程 / ASP编程 阅读数: 774
收藏 0 赞 0 分享

今天在站长站看到一网友写的相册程序,功能挺简单的,看到他用了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(FilePath&BigPhotoPath) '传大图 

 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知识整理笔记4(问答模式)

这是关于asp知识整理的最后一份笔记,希望大家仔细阅读。
收藏 0 赞 0 分享

ASP基础知识VBScript基本元素讲解

这篇文章主要介绍了ASP基础知识VBScript基本元素的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP编码和解码函数详解

这篇文章主要介绍了ASP编码和解码函数的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP显示页面执行时间的方法

这篇文章主要介绍了ASP显示页面执行时间的方法,在本地测试一下输出页面需要多少时间,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第一篇(ASP技术简介)

本文将以 Active Server Pages 为中心,向你全面展示制作动态商业网站的步骤和技巧并通过大量的实例,让你在不断的理论和实践之中笑傲“网络”……
收藏 0 赞 0 分享

ASP基础入门第二篇(ASP基础知识)

这篇文章是ASP基础入门第二篇,第一篇展示了ASP动态网站设计的一些最基本的方法,相信通过实践各位对 ASP 已经有了最基本的了解,本文将进一步介绍ASP动态网站的一些基本技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第三篇(ASP脚本基础)

通过前两篇的学习,相信各位已经对 ASP 的动态网站设计有了一个基本的概念和整体的印象。从本篇开始作者将从脚本语言的使用着手,由浅入深地带领大家探索 ASP 动态网站设计的真正奥秘。
收藏 0 赞 0 分享

ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后,本期将继续向各位介绍 VBScript 的函数和语法。
收藏 0 赞 0 分享

ASP基础入门第五篇(ASP脚本循环语句)

在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言在 ASP 中的应用加以总结。  
收藏 0 赞 0 分享

ASP基础入门第六篇(ASP内建对象Request)

从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多