?? 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 + -