⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 post_upfile.asp

📁 功能强大的bbs
💻 ASP
📖 第 1 页 / 共 2 页
字号:
				Response.write "文件格式不正确,或不能为空 [ <a href=# onclick=history.go(-1)>重新上传</a> ]"
				Exit Sub
			End If
			'文件变量付值
			File_name	=	CreateName()
			Filename	=	File_name&"."&FileExt
			rename		=	CreatePath()&Filename & "|"
			Filename	=	FormPath&CreatePath()&Filename
			F_Type		=	CheckFiletype(FileExt)
			
			'保存文件
			oFileUp.Form(FormName).Saveas Server.MapPath(Filename)
			'创建生成预览图片
			If upload_ViewType<>999 and F_Type=1 then
				F_Viewname=previewpath&"pre"&File_name&".jpg"
				Call CreateView(FileName,F_Viewname)
			End If
			'记录文件
			Call checksave()			'记录文件
			UpCount	= UpCount+1
		Else
			Response.write "请先选择你要上传的文件 [ <a href=# onclick=history.go(-1)>重新上传</a> ]"
			EXIT SUB
		End If
	End If
Next
Set oFileUp = Nothing
Call Suc_upload(UpCount,upNum)
End sub

'保存上传数据并返回附件ID
Private sub checksave()
Dim Rs,DownloadID,UpFileID,shwofilename
shwofilename=Replace(Filename,FormPath,"UploadFile/")
If upload_ViewType<>999 and F_Type=1 then
	Dvbbs.execute("insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_Viewname,F_FileType,F_Type,F_FileSize,F_Flag) values ("&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"','"&replace(rename,"|","")&"','"&F_Viewname&"','"&replace(FileExt,".","")&"',"&F_Type&","&Filesize&",4)")
Else
	Dvbbs.execute("insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_FileType,F_Type,F_FileSize,F_Flag) values ("&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"','"&replace(rename,"|","")&"','"&replace(FileExt,".","")&"',"&F_Type&","&Filesize&",4)")
End If
Set Rs=Dvbbs.execute("Select top 1 F_ID from dv_upFile order by F_ID desc")
	DownloadID=rs(0)
	UpFileID=DownloadID & ","
Set Rs=nothing

If F_Type=1 or F_Type=2 then
 	Response.write "<script>parent.Dvbbs_Composition.document.body.innerHTML+='[upload="&FileExt&"]"&shwofilename&"[/upload]<br>'</script>"
Else
 	Response.write "<script>parent.Dvbbs_Composition.document.body.innerHTML+='[upload="&FileExt&"]viewFile.asp?ID="&DownloadID&"[/upload]<br>'</script>"
End If
Response.write "<script>parent.Dvform.upfilerename.value+='"&UpFileID&"'</script>"
upNum	=	upNum+1
Response.cookies("upNum")=upNum
End sub

Private Sub Suc_upload(UpCount,upNum)
	If upNum < Clng(Dvbbs.GroupSetting(40)) and dateupnum+upNum < Clng(Dvbbs.GroupSetting(50)) then
		Response.write UpCount&"个文件上传成功,目前今天总共上传了"&Dvbbs.UserToday(2)+upNum&"个附件 [ <a href=post_upload.asp?boardid="&Dvbbs.BoardID&">继续上传</a> ]"
	Else
		Response.write UpCount&"个文件上传成功!本次已达到上传数上限。"
	End If
	Dvbbs.Execute("update [Dv_user] set UserToday='"&Dvbbs.UserToday(0)&"|"&Dvbbs.UserToday(1)&"|"&Dvbbs.UserToday(2)+1&"' Where UserID="&Dvbbs.userID&"")
	Dim iUserInfo
	iUserInfo = Session(Dvbbs.CacheName & "UserID")
	iUserInfo(36)=Dvbbs.UserToday(0) & "|" & Dvbbs.UserToday(1) & "|" & Dvbbs.UserToday(2)+1
	Session(Dvbbs.CacheName & "UserID") = iUserInfo
End Sub

'判断文件类型是否合格
Private Function CheckFileExt(FileExt)
Dim Forumupload,i
	If FileExt="" or IsEmpty(FileExt) Then
		CheckFileExt=false
		Exit Function
	End If
	If Lcase(FileExt)="asp" or Lcase(FileExt)="asa" or Lcase(FileExt)="aspx" then
		CheckFileExt=false
		Exit Function
	End If
	Forumupload=split(Dvbbs.Board_Setting(19),"|")
	For i=0 To ubound(Forumupload)
		If Lcase(FileExt)=Lcase(trim(Forumupload(i))) then
			CheckFileExt=true
			exit Function
		Else
			CheckFileExt=false
		End If
	Next
End Function

'判断文件类型:0=其它,1=图片,2=FLASH,3=音乐,4=电影
Private Function CheckFiletype(FileExt)
Dim upFiletype
Dim FilePic,FileVedio,FileSoft,FileFlash,FileMusic
FileExt=Lcase(replace(FileExt,".",""))
Select Case Lcase(FileExt)
		Case "gif", "jpg", "jpeg","png","bmp","tif","iff"
		CheckFiletype=1
		Case "swf", "swi"
		CheckFiletype=2
		Case "mid", "wav", "mp3","rmi","cda"
		CheckFiletype=3
		Case "avi", "mpg", "mpeg","ra","ram","wov","asf"
		CheckFiletype=4
		Case Else
		CheckFiletype=0
End Select
End Function

'创建预览图片:call CreateView(原始文件的路径,预览文件名及路径)
Sub CreateView(imagename,tempFilename)
'定义变量
Dim PreviewImageFolderName
Dim ogvbox,objFont
Dim Logobox,LogoPath
LogoPath = Server.MapPath("images") & "\logo.gif"  '//加入图片所在路径及文件名

Select case upload_ViewType
Case 0
'---------------------CreatePreviewImage---------------
	set ogvbox = Server.CreateObject("CreatePreviewImage.cGvbox")
	ogvbox.SetSavePreviewImagePath=Server.MapPath(tempFilename)			'预览图存放路径
	ogvbox.SetPreviewImageSize =SetPreviewImageSize						'预览图宽度
	ogvbox.SetImageFile = trim(Server.MapPath(imagename))				'imagename原始文件的物理路径
	'创建预览图的文件
	If ogvbox.DoImageProcess=false Then
	Response.write "生成预览图错误:"& ogvbox.GetErrString
	End If
Case 1
'---------------------AspJpegV1.2---------------
	
	'Set Logobox = Server.CreateObject("Persits.Jpeg")
	'*添加水印图片	添加时请关闭水印字体*
	'//读取添加的图片
	'Logobox.Open LogoPath
	'//重新设置图片的大小
	'Logobox.Width = 180		'// 加入图片的原宽度
	'Logobox.Height = 60		'// 加入图片的原高度
	'*添加水印图片*

	Set ogvbox = Server.CreateObject("Persits.Jpeg")
	' 读取要处理的原文件
	ogvbox.Open Trim(Server.MapPath(imagename))
	If ogvbox.OriginalWidth<Cint(ImageWidth) or ogvbox.Originalheight<Cint(ImageHeight) Then
		F_Viewname=""
		Set ogvbox = Nothing
		Exit Sub
	Else
		IF ImageMode<>"" and FileExt<>"gif" Then
			'//关于修改字体及文字颜色的
			ogvbox.Canvas.Font.Color	= &HFF0000		'// 文字的颜色
			ogvbox.Canvas.Font.Family	= "monospace"	'// 文字的字体
			'ogvbox.Canvas.Font.Bold = True
			' Draw frame: black, 2-pixel width
			ogvbox.Canvas.Print 10, 10, ImageMode		'// 加入文字的位置坐标
			ogvbox.Canvas.Pen.Color		= &H000000		'// 边框的颜色
			ogvbox.Canvas.Pen.Width		= 1				'// 边框的粗细
			ogvbox.Canvas.Brush.Solid	= False			'// 图片边框内是否填充颜色
			'ogvbox.DrawImage 0, 0, Logobox				'// 加入图片的位置价坐标(添加水印图片)
			ogvbox.Canvas.Bar 0, 0, ogvbox.Width, ogvbox.Height	'// 图片边框线的位置坐标
			ogvbox.Save Server.MapPath(imagename)		'// 生成文件
		End If
		ogvbox.Width	= ImageWidth
		ogvbox.height	= ImageHeight
		'ogvbox.height	= ogvbox.Originalheight*ImageWidth\ogvbox.OriginalWidth
		ogvbox.Sharpen 1, 120
		ogvbox.Save Server.MapPath(tempFilename)		'// 生成预览文件
	End If
	Set Logobox=Nothing
Case 2
'---------------------SoftArtisans ImgWriter V1.21---------------
	Set ogvbox = Server.CreateObject("SoftArtisans.ImageGen")
	' 读取要处理的原文件
	ogvbox.LoadImage Trim(Server.MapPath(imagename))
	If ogvbox.ErrorDescription <> "" Then
		Response.Write ogvbox.ErrorDescription
	End If
	If ogvbox.Width<Cint(ImageWidth) or ogvbox.Height<Cint(ImageHeight) Then
		F_Viewname=""
		Set ogvbox = Nothing
		Exit Sub
	Else
		IF ImageMode<>"" and FileExt<>"gif" Then
			ogvbox.Font.Italic	= True
			ogvbox.Font.height	= 15
			ogvbox.Font.name	= "monospace"
			ogvbox.Font.Color	= vbred
			ogvbox.Text			=ImageMode
			ogvbox.DrawTextOnImage 10, 10, ogvbox.TextWidth, ogvbox.TextHeight
			ogvbox.SaveImage 0, ogvbox.ImageFormat, Server.MapPath(imagename) 
			'ogvbox.AddWatermark Server.MapPath(Request.QueryString("mimg")), 0, 0.3
		End If
		'ogvbox.SharpenImage 100
		ogvbox.ColorResolution = 24	'24色保存
		ogvbox.ResizeImage ImageWidth,ImageHeight,0,0
		'0=saiFile,1=saiMemory,2=saiBrowser,4=saiDatabaseBlob
		'saiBMP=1,saiGIF=2,saiJPG=3,saiPNG=4,saiPCX=5,saiTIFF=6,saiWMF=7,saiEMF=8,saiPSD=9 
		ogvbox.SaveImage 0, 3, Server.MapPath(tempFilename)
		Response.Write Server.MapPath(tempFilename)
	End If
Case 3
'---------------------三角猫生成缩略图组件 SJCatSoft V2.6---------------
	Set ogvbox = Server.CreateObject("sjCatSoft.Thumbnail")
	ogvbox.SourceFile = Trim(Server.MapPath(imagename))
	IF ogvbox.OriginalWidth<Cint(ImageWidth) or ogvbox.OriginalHeight<Cint(ImageHeight) Then
		F_Viewname=""
		Set ogvbox = Nothing
		Exit Sub
	Else
		ogvbox.ByRatio			= False
		ogvbox.OutFileType		= 1
		ogvbox.OutPicWidth		= ImageWidth
		ogvbox.OutPicHeight		= ImageHeight
		ogvbox.DestFile			= Server.MapPath(tempFilename)
		ogvbox.Execute
		IF ImageMode<>"" and FileExt<>"gif" Then
		ogvbox.WaterMaskText	= ImageMode
		ogvbox.FontName			= "monospace"
		ogvbox.FontSize			= 12
		ogvbox.FontColor		= 13
		ogvbox.FontType			= 5
		ogvbox.ByRatio			= True
		ogvbox.Rate				= 100
		ogvbox.DestFile			= Server.MapPath(imagename)
		ogvbox.Execute
		End If
	End If
End Select
Set ogvbox = Nothing
End Sub

Private Function CreateName()
Dim ranNum
	randomize
	ranNum=int(999*rnd)
	CreateName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum
End Function

'按月份自动明名上传文件夹,需要FSO组件支持。
Private Function CreatePath()
Dim objFSO,Fsofolder,uploadpath
uploadpath=year(now)&"-"&month(now)	'以年月创建上传文件夹,格式:2003-8
On Error Resume Next
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
	If objFSO.FolderExists(Server.MapPath(FormPath&uploadpath))=False Then
	objFSO.CreateFolder Server.MapPath(FormPath&uploadpath)
	End If
	If Err.Number = 0 Then
	CreatePath=uploadpath&"/"
	Else
	CreatePath=""
	End If
set objFSO = nothing
End Function
Function checkFolder()
	If Dvbbs.Forum_Setting(76)="" Or Dvbbs.Forum_Setting(76)="0" Then Dvbbs.Forum_Setting(76)="UploadFile/"
	checkFolder=Dvbbs.Forum_Setting(76)
End Function 
'常见文件的MIME类型
'GIF文件  "image/gif"
'BMP文件 "image/bmp"
'JPG文件 "image/jpeg"
'zip文件 "application/x-zip-compressed"
'DOC文件 "application/msword"
'文本文件 "text/plain"
'HTML文件 "text/html"
'一般文件 "application/octet-stream"

'SoftArtisans.ImageGen
'ogvbox.AddWatermark Watermark,Position,Opacity,TransitionColor,ShrinkToFit
'Position:
'saiTopMiddle 0  
'saiCenterMiddle 1  
'saiBottomMiddle 2  
'saiTopLeft 3  
'saiCenterLeft 4  
'saiBottomLeft 5  
'saiTopRight 6  
'saiCenterRight 7  
'saiBottomRight 8 
'ShrinkToFit:自动适中(默认为:TRUE)
%>
</td></tr>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -