主题: asp版本如何加入水印
作者: 蜘蛛, 发布日期: 2011-10-06 15:00:11, 浏览数: 5265

我用的3.5.5版本,请教下如何加入图片水印,我写入后总提示服务器错误。

帮忙看下代码,谢谢。

<%

' KindEditor ASP
'
' 本ASP程序是演示程序,建议不要直接在实际项目中使用。
' 如果您确定直接使用本程序,使用之前请仔细确认相关安全设置。
'

Dim aspUrl, savePath, saveUrl, fileTypes, maxSize, fileName, fileExt, newFileName, filePath, fileUrl
Dim upload, file, fso, ranNum, hash, ymd

aspUrl = Request.ServerVariables("SCRIPT_NAME")
aspUrl = left(aspUrl, InStrRev(aspUrl, "/"))

'文件保存目录路径
savePath = "../../upload/"
'文件保存目录URL
saveUrl = aspUrl & "../../upload/"
'定义允许上传的文件扩展名
fileTypes = "gif,jpg,jpeg,png,bmp"
'最大文件大小
maxSize = 1000000

Set upload = new upload_5xsoft
Set file = upload.file("imgFile")

If file.fileSize < 1 Then
 Set upload = nothing
 Set file = nothing
 showError("请选择文件。")
End If

Set fso = Server.CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(Server.mappath(savePath)) Then
 Set upload = nothing
 Set file = nothing
 showError("上传目录不存在。")
End If

If file.fileSize > maxSize Then
 Set upload = nothing
 Set file = nothing
 showError("上传文件大小超过限制。")
End If

'创建文件夹
ymd = year(now) & month(now) & day(now)
savePath = savePath & ymd & "/"
saveUrl = saveUrl & ymd & "/"
If Not fso.FolderExists(Server.mappath(savePath)) Then
 fso.CreateFolder(Server.mappath(savePath))
End If

fileName = file.filename
fileExt = mid(fileName, InStrRev(fileName, ".") + 1)
randomize
ranNum = int(9000000 * rnd) + 10000
newFileName = year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now) & ranNum & "." & fileExt

If instr(fileTypes, lcase(fileExt)) < 1 Then
 Set upload = nothing
 Set file = nothing
 showError("上传文件扩展名是不允许的扩展名。")
End If
filePath = Server.mappath(savePath & newFileName)

Set Image = Server.CreateObject("Persits.Jpeg")
'确定要加入水印的图片路径
PhotoPath = Server.MapPath(&filePath)
Image.Open PhotoPath
'打开水印图片
Set Logo = Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath("../logo1.jpg") '水印的图片
Logo.Open LogoPath
Logo.Width = 277 '水印图片的大小
Logo.Height = 68
Transition_Color = &h0066cc
'将水印放置于上传图片中
Image.DrawImage Image.width-300, Image.height-80, Logo,0.4,Transition_Color,180
'在这里可以更改水印所在的位置(photo.width-210,photo.height-40 这里我是放在了图片的右下角)还可以更改水印的透明度
'保存增加水印后的图片
Image.Save Server.MapPath(&filePath)
Set Photo = Nothing

fileUrl = saveUrl & newFileName
file.saveAs filePath
Set upload = nothing
Set file = nothing

 


If Not fso.FileExists(filePath) Then
 showError("上传文件失败。")
End If

 

Response.AddHeader "Content-Type", "text/html; charset=UTF-8"
Set hash = jsObject()
hash("error") = 0
hash("url") = fileUrl
hash.Flush
Response.End

Function showError(message)
 Response.AddHeader "Content-Type", "text/html; charset=UTF-8"
 Dim hash
 Set hash = jsObject()
 hash("error") = 1
 hash("message") = message
 hash.Flush
 Response.End
End Function
%>

 

作者: tygfr, 发布日期: 2011-10-09 04:08:54


没用使用编辑器自带的上传,我禁掉了



我现在是用自己写的上传来做进去的,因为要审核上传账户信息session或cookie等等,然后insert img进去的,因为模拟提交中是可以自己上传图片的,对网站不是很好



另外,robby可否考虑加入swfupload?还有,4.01版有无自适应高度?

回复
作者: 小浪子, 发布日期: 2011-10-09 08:55:22
太过于简单。。
回复
发表新帖 发表回复