📄 ixs_uploadpost.asp
字号:
<!--#include file="../Conn.asp" -->
<!--#include file="../Include/Const.asp" -->
<!--#include file="../Include/iXs_ClsUpLoad.asp" -->
<%
'On Error Resume Next
Response.ExpiresAbsolute = Now() - 1
Response.Expires = -1
Response.CacheControl = "no-cache"
Server.ScriptTimeout = 9999
' 加载页面模板
Call Templates.Load("Page_Index")
Dim Action, HaveErr
Dim ObjUpType, ObjUpClass, bgColor, Wid
Dim n, Self_Referer
Dim UpLoadPID, p_CreatPreview
Action = iXs.ReqNum("Action", 0)
Wid = iXs.ReqNum("Wid", 0)
' ----------------------------------------------------------------------------------------
Select Case Action
Case 1
' 加载页面模板
Temp = Split(Templates.Page_Style(1), "||")
If HaveGetCode = 1 Then
Dim GetCode
iXs.ReqMode = 0
GetCode = iXs.ReqStr(GetCodeFormName, "0")
End If
If HaveGetCode = 1 And iXs.CheckGetCode(GetCode, 0) = False Then
TempHtml = Temp(0) & Temp(4)
Else
Dim UpLoad
Dim FileID, FormName, FileName, FilePath, PreviewPath
Set UpLoad = New iXuEr_UpFile
' 上传进度数据文件名 为了适应多用户 多进程相互独立显示而增加
UpLoadPID = iXs.ReqStr("UpLoadPID", 0)
UpLoad.AutoDir = 0 ' 文件目录创建方式:0=年月目录,1=年月日
PreviewPath = UpLoad.CreatePath(FilePrevPath)
FilePath = UpLoad.CreatePath(FileSavePath)
UpLoad.UpLoadPID = UpLoadPID ' 上传ID
UpLoad.UpLoaddingDataDir = UpLoaddingDataDir
UpLoad.UpLoadPath = FilePath ' 设置上传路径
'UpLoad.ChkSessionName = "UpLoad_Form" ' 防止重复提交,SESSION名与提交的表单要一致。
UpLoad.UpLoadType = UpFileObject ' 设置上传组件类型(0=无组件上传类,1=AspUpLoad3.0 ,2=SA-FileUp 4.0 ,3=DvFile.UpLoad V1.0)
UpLoad.InceptMaxFile = FileUpMaxNum ' 每次上传文件个数上限
UpLoad.InceptFileType = Replace(FileAllowExt, "|", ",") ' 设置上传文件限制 多个用“,”隔开
UpLoad.MaxSize = FileMaxSize ' 单位 KB
UpLoad.FormatType = 0 ' 定义文件命名方法(0 = 自动生成14位时间+5位随机数命名,1 = 使用文件原名称命名)
UpLoad.RName = "sun116.net" ' 定义文件名前缀
'预览图片设置
UpLoad.PreviewType = 1 ' 设置预览图片组件类型(0=CreatePreviewImage组件,1=AspJpegV1.2 ,2=SoftArtisans ImgWriter V1.21)
UpLoad.PreviewImageWidth = 180 ' 设置预览图片宽度
UpLoad.PreviewImageHeight = 150 ' 设置预览图片高度
UpLoad.DrawImageWidth = 180 ' 设置水印图片或文字区域宽度
UpLoad.DrawImageHeight = 60 ' 设置水印图片或文字区域高度
UpLoad.DrawGraph = 1 ' 设置水印透明度
UpLoad.DrawFontColor = "#FF0000" ' 设置水印文字颜色
UpLoad.DrawFontFamily = "Arial" ' 设置水印文字字体格式
UpLoad.DrawFontSize = 12 ' 设置水印文字字体大小
UpLoad.DrawFontBold = True ' 设置水印文字是否粗体
UpLoad.DrawInfo = MyRootPath & "Images/WaterMap_4.gif" ' 设置水印文字信息或图片信息
UpLoad.DrawType = 2 ' 0=不加载水印 ,1=加载水印文字,2=加载水印图片
UpLoad.DrawXYType = 4 ' "0"=左上,"1"=左下,"2"=居中,"3"=右上,"4"=右下
UpLoad.DrawSizeType = 1 ' "0"=固定缩小,"1"=等比例缩小
UpLoad.TransitionColor = "#F0F0F0" ' 透明度颜色设置 水印图片去除底色
' 执行上传
UpLoad.SaveUpFile
' 生成图像缩略图部分
' ------------------------------------------------------------------------------------------------------
TempHtml = Temp(0)
Dim File, F_FileName, F_Viewname
Dim TempDic, oiii, TempOption
Dim ReExp
Set ReExp = New RegExp
ReExp.Pattern = "[^\d]+(\d+)$"
ReExp.Global = True
ReExp.IgnoreCase = True
ReExp.MultiLine = True
If UpLoad.Count > 0 Then
TempHtml = TempHtml & Temp(1)
For Each FormName In UpLoad.UpLoadFiles
Set File = UpLoad.UpLoadFiles(FormName)
F_FileName = FilePath & File.FileName
F_Viewname = ""
oiii = ReExp.Replace(FormName, "$1")
TempOption = UpLoad.UploadForms("MakePreviewImage" & oiii)
If Not IsNumeric(TempOption) Then
TempOption = 0
Else
TempOption = Cint(TempOption)
End If
Select Case CreatPreview
Case 0 ' 强制全否 全部不添加水印,不生成缩略图
p_CreatPreview = 0
Case 1 ' 强制全是 全部添加水印,生成缩略图
p_CreatPreview = 1
Case 2 ' 默认全否 默认不添加水印,不生成缩略图,但可由用户指定
p_CreatPreview = 0
If TempOption = 1 Then p_CreatPreview = 1
Case 3 ' 默认全是 默认添加水印,生成缩略图,但可由用户指定
p_CreatPreview = 1
If TempOption <> 1 Then p_CreatPreview = 0
Case Else
p_CreatPreview = 0
End Select
'创建预览及水印图片
If p_CreatPreview = 1 Then
If UpLoad.PreviewType <> 999 And File.FileType = 1 Then
F_Viewname = PreviewPath & "pre_" & Replace(File.FileName, File.FileExt, "") & "jpg"
'创建预览图片:Call CreateView(原始文件的路径,预览文件名及路径,原文件后缀)
Call UpLoad.CreateView(F_FileName, F_Viewname, File.FileExt)
End If
End If
' 保存文件信息
Call UpLoadSave(File.FileName, File.FilePath, File.FileSize, File.FileContentType, File.FileType, File.FileExt, File.FileWidth, File.FileHeight, F_Viewname, p_CreatPreview)
Set File = Nothing
Next
TempHtml = Replace(TempHtml, "{$UpLoad_Count}", UpLoad.Count) ' 输出文件个数
TempHtml = Replace(TempHtml, "{$UpLoad_TotalSize}", UpLoad.CountSize) ' 输出文件总大小
TempHtml = Replace(TempHtml, "{$UpLoad_ImgWater}", 1)
Else
TempHtml = TempHtml & Temp(2)
End If
Set UpLoad = Nothing
End If
TempHtml = TempHtml & Temp(5)
TempHtml = Replace(TempHtml, "{$System_HaveGetCode}", HaveGetCode)
Case Else ' 显示上传接口
' 根据组件类型生成上传ID
Dim UpLoadProgressUrl
If UpFileObject = 0 Then
Randomize Timer()
UpLoadPID = FormatTime(Now(), 1) & Clng(1000 + Rnd()*8999)
UpLoadProgressUrl = "UpLoadFile/UpLoadData/" & UpLoadPID & ".html"
ElseIf UpFileObject = 1 Then
On Error Resume Next
' 生成 AspUpLoad 进度ID
Dim UpLoadProgress
Set UpLoadProgress = Server.CreateObject(ServerObject_012)
UpLoadPID = UpLoadProgress.CreateProgressID()
Set UpLoadProgress = Nothing
UpLoadProgressUrl = "UpLoad/iXs_UpLoadAspUp3.asp?UploadPID=" & UpLoadPID
End If
Templates.PageTitle = ""
Templates.PageNav = ""
Templates.PageGuide = "文件上传管理系统"
' --------------------------------------------------------------------------------------------
Temp = Split(Templates.Page_Style(0), "||")
TempHtml = Temp(0)
If HaveGetCode = 1 Then
TempHtml = TempHtml & Temp(1)
TempHtml = Replace(TempHtml, "{$System_GetCode}", iXs.GetCode(MyUpLoadPath))
End If
TempHtml = Replace(TempHtml, "{$System_GetCodeName}", GetCodeFormName)
TempHtml = TempHtml & Temp(2) & Temp(3) & Temp(4) & Temp(5) & Temp(6) & Temp(7)
TempHtml = Replace(TempHtml, "{$System_UpLoaddingUrl}", MyUpLoadPath & UpLoadProgressUrl)
TempHtml = Replace(TempHtml, "{$System_UpLoadPID}", UpLoadPID)
TempHtml = Replace(TempHtml, "{$System_FileMaxSize}", FileMaxSize * 1024)
TempHtml = Replace(TempHtml, "{$System_CreatPreview}", CreatPreview)
TempHtml = Replace(TempHtml, "{$System_HaveGetCode}", HaveGetCode)
TempHtml = Replace(TempHtml, "{$System_FileAllowExt}", FileAllowExt)
TempHtml = Replace(TempHtml, "{$UpLoad_MaxNum}", FileUpMaxNum)
TempHtml = Replace(TempHtml, "{$System_RootPath}", MyRootPath)
TempHtml = Replace(TempHtml, "{$UpLoad_MyPath}", MyUpLoadPath)
TempHtml = iXs.FixJs(TempHtml)
TempHtml = "document.getElementById(""UpLoadInterface"").innerHTML = """ & TempHtml & """;"
Response.Write(TempHtml) : Response.Flush() : Response.End()
End Select
' --------------------------------------------------------------------------------------------
' 执行模板变换
iXs.CanNotMenu = True
TempHtml = Templates.Transform(TempHtml)
' --------------------------------------------------------------------------------------------
Response.Write(TempHtml)
' ============================================
' 文件信息入库
' ============================================
Function UpLoadSave(p_FileName, p_FilePath, p_FileSize, p_FileContentType, p_FileType, p_FileExt, p_FileWidth, p_FileHeight, p_PreviewPath, p_CreatPreview)
' 过滤文件路径
p_FilePath = Replace(Replace(p_FilePath, FileSavePath, ""), MyRootPath, "")
' 重新整合文件名
p_FileName = p_FileName
' 过滤缩略图路径
p_PreviewPath = Replace(Replace(p_PreviewPath, FilePrevPath, ""), MyRootPath, "")
' 入库操作
' -----------------------------------------------------------------------------
Dim Rs
Set Rs = iXs.GetRs("SELECT * FROM iXs_UpFiles WHERE F_ID IS NULL", 1, 3)
Rs.AddNew
Rs("F_Where") = Wid
Rs("F_Type") = p_FileType
Rs("F_Ext") = p_FileExt
Rs("p_FilePath") = p_FilePath
Rs("F_Name") = p_FileName
Rs("F_Preview") = p_PreviewPath
Rs("F_ContentType") = p_FileContentType
Rs("F_Size") = p_FileSize
Rs("F_Width") = p_FileWidth
Rs("F_Height") = p_FileHeight
Rs("p_SubmitTime") = Now()
Rs("p_SubmitIP") = iXs.ReqIp
Rs.Update
FileID = Rs("F_ID")
Rs.Close
Set Rs = Nothing
' -----------------------------------------------------------------------------
' 保存成功,生成插入文件函数
TempHtml = TempHtml & Temp(3)
TempHtml = Replace(TempHtml, "{$UpLoad_FileID}", FileID)
TempHtml = Replace(TempHtml, "{$UpLoad_FileName}", p_FileName)
TempHtml = Replace(TempHtml, "{$UpLoad_FilePath}", p_FilePath)
TempHtml = Replace(TempHtml, "{$UpLoad_FileSize}", p_FileSize)
TempHtml = Replace(TempHtml, "{$UpLoad_FileContentType}", p_FileContentType)
TempHtml = Replace(TempHtml, "{$UpLoad_FileType}", p_FileType)
TempHtml = Replace(TempHtml, "{$UpLoad_FileExt}", p_FileExt)
TempHtml = Replace(TempHtml, "{$UpLoad_FileWidth}", p_FileWidth)
TempHtml = Replace(TempHtml, "{$UpLoad_FileHeight}", p_FileHeight)
TempHtml = Replace(TempHtml, "{$UpLoad_PreviewPath}", p_PreviewPath)
TempHtml = Replace(TempHtml, "{$UpLoad_Preview}", p_CreatPreview)
' 生成镜像服务器同步指令
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -