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

📄 upfile.asp

📁 闻名一时的bbsxp超快论坛系统现在放出最新版2008版本给希望装论坛的朋友借鉴安装调试
💻 ASP
字号:
<%

dim Jpeg,upfile,FileUP,FormName
dim FileMessage,FileName,FileMIME,FileSize,FileExt,SaveFile,TotalFileSize,Script
TotalFileSize=0
TotalUserPostAttachments=Execute("Select sum(ContentSize) from ["&TablePrefix&"PostAttachments] where UserName='"&CookieUserName&"'")(0)

UploadFile

Sub CheckFileExt()
	if instr("|gif|jpg|jpeg|png|","|"&FileExt&"|") > 0 then
		if split(FileMIME,"/")(0)<>"image" then FileMessage="后缀名与文件类型不符合":Exit Sub
	end if

	if UpClass="Face" then
		if instr("|gif|jpg|jpeg|png|","|"&FileExt&"|") <= 0 then FileMessage="对不起,头像只能上传后缀名为 gif、jpg、jpeg、png 格式的文件":Exit Sub
	else
		if instr("|"&SiteConfig("UpFileTypes")&"|","|"&FileExt&"|") <= 0 then FileMessage="对不起,管理员设定本论坛不允许上传 "&FileExt&" 格式的文件":Exit Sub
	end if
	
	if FileExt="asa" or FileExt="asp" or FileExt="cdx" or FileExt="cer" or FileExt="aspx" then FileMessage="对不起,管理员设定本论坛不允许上传 "&FileExt&" 格式的文件":Exit Sub

	if FileSize < 1 then FileMessage="当前文件为空文件":Exit Sub
	if FileSize > UpMaxFileSize then FileMessage="文件大小不得超过 "&CheckSize(UpMaxFileSize)&"\n当前的文件大小为 "&CheckSize(FileSize)&"":Exit Sub

	if UpClass<>"Face" then
		if TotalUserPostAttachments+FileSize>UpMaxPostAttachmentsSize then FileMessage="您的上传空间已满!":Exit Sub
	end if
End Sub

Sub UploadFile
	if ""&SiteConfig("UpFileOption")&""="" then
		FileMessage="对不起,管理员关闭文件上传功能"
		if UpClass="Face" then Alert(""&FileMessage&"")
	elseif SiteConfig("UpFileOption")="ADODB.Stream" then
		Set upfile=new upfile_class						'建立上传对象
		upfile.GetData ()								'取得上传数据

		i=0
		for each FormName in upfile.file
			if UpClass<>"Face" then UpFileName=""&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&i&""
			Set EachFile = upfile.file(FormName)
			FileName=EachFile.FileName				'文件名
			FileExt=LCase(EachFile.FileExt)			'小写后缀名
			FileMIME=EachFile.FileMIME				'文件类型
			FileSize=EachFile.FileSize				'文件大小

			CheckFileExt()
			if ""&FileMessage&""<>"" then
				if UpClass="Face" then
					Alert(""&FileMessage&"")
				else
					Exit Sub
				end if
			end if

			SaveFile=""&UpFolder&UpFileName&"."&FileExt&""			'保存文件路径
			if SiteConfig("AttachmentsSaveOption")=1 or UpClass="Face" then upfile.SaveToFile FormName,Server.mappath(""&SaveFile&"")
			Set EachFile=nothing
			if UpClass<>"Face" then AddToDB
			ImagePersits

			i=i+1
		next
		set upfile=nothing
	'''''''''''''''''''''''''''''''''''''''''''''
	elseif SiteConfig("UpFileOption")="SoftArtisans.FileUp" then
		Set FileUP = Server.CreateObject("SoftArtisans.FileUp")
		i=0
		For Each FormName In FileUP.Form
			if UpClass<>"Face" then UpFileName=""&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&i&""
			If IsObject(FileUP.Form(FormName)) Then
				If Not FileUP.Form(FormName).IsEmpty Then
					FileName = FileUP.Form(FormName).ShortFileName	 		'原文件名
					FileExt=LCase(mid(FileName,InStrRev(FileName, ".")+1))	'小写后缀名
					FileMIME=FileUP.Form(FormName).ContentType				'文件类型
					Filesize = FileUP.Form(FormName).TotalBytes				'文件大小

					CheckFileExt()
					if ""&FileMessage&""<>"" then
						if UpClass="Face" then
							Alert(""&FileMessage&"")
						else
							Exit Sub
						end if
					end if

					SaveFile=""&UpFolder&UpFileName&"."&FileExt&""			'保存文件路径
					if SiteConfig("AttachmentsSaveOption")=1 or UpClass="Face" then FileUP.Form(FormName).SaveAs Server.mappath(""&SaveFile&"")
					
					
					if UpClass<>"Face" then AddToDB
					ImagePersits
				End If
			End If
			i=i+1	
		Next

	'''''''''''''''''''''''''''''''''''''''''''''
	elseif SiteConfig("UpFileOption")="Persits.Upload" then
	Set Upload = Server.CreateObject("Persits.Upload")  
	Upload.Save

		i=0

		For Each File in Upload.Files


			if UpClass<>"Face" then UpFileName=""&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&i&""

					FileName = File.FileName	 		'原文件名
					FileExt=LCase(mid(FileName,InStrRev(FileName, ".")+1))	'小写后缀名

					FileMIME=File.ContentType				'文件类型
					Filesize =File.Size				'文件大小

					CheckFileExt()
					if ""&FileMessage&""<>"" then
						if UpClass="Face" then
							Alert(""&FileMessage&"")
						else
							Exit Sub
						end if
					end if

					SaveFile=""&UpFolder&UpFileName&"."&FileExt&""			'保存文件路径

					if SiteConfig("AttachmentsSaveOption")=1 or UpClass="Face" then File.Saveas Server.mappath(""&SaveFile&"")
					if UpClass<>"Face" then AddToDB
					ImagePersits

			i=i+1	
		Next
	end if
End Sub



Sub ImagePersits
	if IsObjInstalled("Persits.Jpeg") and SiteConfig("AttachmentsSaveOption")=1 and FileMIME="image/pjpeg" then
		Set Jpeg = Server.CreateObject("Persits.Jpeg")
		Jpeg.Open Server.MapPath(""&SaveFile&"")
	
		if UpClass="Face" then		'上传头像自动缩放到后台设定的指定值
			Jpeg.Width = Jpeg.OriginalWidth
			Jpeg.Height = Jpeg.OriginalHeight
			if Jpeg.OriginalWidth / Jpeg.OriginalHeight >= 1 then 
				if Jpeg.Width>SiteConfig("AvatarWidth") then
					Jpeg.Width = SiteConfig("AvatarWidth")
					Jpeg.Height = int((SiteConfig("AvatarWidth")/Jpeg.OriginalWidth)*Jpeg.OriginalHeight)
				end if
			elseif Jpeg.OriginalWidth / Jpeg.OriginalHeight < 1 then
				if Jpeg.Height>SiteConfig("AvatarHeight") then
					Jpeg.Height = SiteConfig("AvatarHeight")
					Jpeg.Width= int(Jpeg.OriginalWidth*(SiteConfig("AvatarHeight")/Jpeg.OriginalHeight))
				end if
			end if
		else						'设置帖子附件图片水印效果
			if SiteConfig("WatermarkOption")="Persits.Jpeg" then
				JpegPersits
			end if
		end if
		
		Jpeg.Save Server.MapPath(""&SaveFile&"")
		Set Jpeg = nothing
	end if
End Sub


'''''''''''''''''''''写入表 Start'''''''''''''''''''
Sub AddToDB()
	Rs.Open "Select top 1 * from ["&TablePrefix&"PostAttachments]",Conn,1,3
	Rs.addnew 
		Rs("UserName")=CookieUserName
		Rs("FileName")=FileName
		Rs("ContentType")=FileMIME
		Rs("ContentSize")=FileSize
		if SiteConfig("AttachmentsSaveOption")=1 then
			Rs("FilePath")=SaveFile
		else
			if SiteConfig("UpFileOption")="ADODB.Stream" then Rs("FileData")=upfile.FileData(FormName)
			if SiteConfig("UpFileOption")="SoftArtisans.FileUp" then FileUP.SaveAsBlob Rs("FileData")
			if SiteConfig("UpFileOption")="Persits.Upload" then Rs("FileData")=File.Binary
			SaveFile="GetAttachment.asp?AttachmentID="&Rs("UpFileID")&""
		end if
	Rs.update

	Script=Script&"Bbsxp_InsertIntoEdit('"&Rs("UpFileID")&"','"&FileName&"','"&FileMIME&"','"&SaveFile&"');"
	Rs.close
End Sub
'''''''''''''''''''''写入表  End'''''''''''''''''''
%>

⌨️ 快捷键说明

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