📄 uploadfile.asp
字号:
Function CreateFolder(Filepath)
Dim fso, f
on error resume next
Set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists(Filepath) then
Set f = fso.CreateFolder(Filepath)
set f = Nothing
end if
set fso = Nothing
End Function
Function DeleteFile(filename)
dim fso1
Set fso1 = CreateObject("Scripting.FileSystemObject")
if fso1.FileExists(filename) then
fso1.DeleteFile filename
end if
set fso1 = Nothing
End Function
Function BuildSmallPic(s_OriginalPath, s_BuildBasePath, n_MaxWidth, n_MaxHeight)
Err.Clear
On Error Resume Next
// 检查组件是否已经注册
Dim AspJpeg
Set AspJpeg = Server.Createobject("Persits.Jpeg")
If Err.Number <> 0 Then
Err.Clear
BuildSmallPic = "Error_01"
Exit Function
End If
// 检查原图片是否存在
Dim s_MapOriginalPath
s_MapOriginalPath = Server.MapPath(s_OriginalPath)
AspJpeg.Open s_MapOriginalPath //打开原图片
If Err.Number <> 0 Then
Err.Clear
BuildSmallPic = "Error_02"
Exit Function
End If
// 指定宽度和高度生成
AspJpeg.Width = n_MaxWidth
AspJpeg.Height = n_MaxHeight
// 将缩略图存盘开始
Dim pos, s_OriginalFileName, s_OriginalFileExt //位置、原文件名、原文件扩展名
pos = InStrRev(s_OriginalPath, "/") + 1
s_OriginalFileName = Mid(s_OriginalPath, pos)
pos = InStrRev(s_OriginalFileName, ".")
s_OriginalFileExt = Mid(s_OriginalFileName, pos)
Dim s_MapBuildBasePath, s_MapBuildPath, s_BuildFileName //缩略图绝对路径、缩略图文件名
Dim s_EndFlag //小图片文件名结尾标识 例: 如果大图片文件名是“image1.gif”,结尾标识是“_small”,那么小图片文件名就是“image1_small.gif”
If Right(s_BuildBasePath, 1) <> "/" Then s_BuildBasePath = s_BuildBasePath & "/"
s_MapBuildBasePath = Server.MapPath(s_BuildBasePath)
s_EndFlag = "_small" //可以自定义,只要能区别大小图片即可
s_BuildFileName = Replace(s_OriginalFileName, s_OriginalFileExt, "") & s_EndFlag & s_OriginalFileExt
s_MapBuildPath = s_MapBuildBasePath & "\" & s_BuildFileName
AspJpeg.Save s_MapBuildPath //保存
If Err.Number <> 0 Then
Err.Clear
BuildSmallPic = "Error_03"
Exit Function
End If
//--将缩略图存盘结束--
//注销实例
Set AspJpeg = Nothing
If Err.Number <> 0 Then
BuildSmallPic = "Error_Other"
Err.Clear
End If
'BuildSmallPic = s_BuildBasePath & s_BuildFileName //返回路径
BuildSmallPic = s_BuildFileName //返回文件名
End Function
CreateFolder(savepath)
Set Upload=Server.CreateObject("Persits.Upload")
Upload.SetMaxSize UploadLimitSize*1024, True
Upload.OverwriteFiles = false
if Request.QueryString("PID") = "" then
Upload.ProgressID="010D60EB00C5AA4B"
else
Upload.ProgressID=Request.QueryString("PID")
end if
Count=Upload.Save()
If Err.Number <> 0 Then
Response.Write "<div style=""color:red;font-size:12px;"">出现错误: " & Err.Number & "、" & Err.Description &"<a href=""javascript:history.go(-1)"">重新上传</a></div>"
End If
If Err.Number = 8 Then
Response.Write "<div style=""color:red;font-size:12px;"">你上传的文件超过限制("& UploadLimitSize/1024 &"M)<a href=""javascript:history.go(-1)"">重新上传</a></div>"
response.end
end if
dim inputname
dim size,rs_upfile
For Each File in Upload.Files
if not CanUpload(File.ext) then
File.Delete
response.write "<div style=""color:red;font-size:12px;"">"&file.filename &"("& file.size &") 格式不正确!<a href=""javascript:history.go(-1)"">重新上传</a></div>"
else
dim datename,datetime
datetime=Now()
datename=year(datetime)&right("00"&month(datetime),2)&right("00"&day(datetime),2)&right("00"&hour(datetime),2)&right("00"&minute(datetime),2)&right("00"&second(datetime),2) //以时间生成图片的新名称
if isrename=1 then
File.SaveAs savepath &"\"& datename & File.Ext
else
File.SaveAs savepath &"\"& file.filename
end if
response.write "<script language=""javascript"">parent."&formname1&"."&inputname1&".value='"&UploadFilePath3&file.filename&"';"
response.write "</script>"
if fileaction="movie" then
response.write "<script language=""javascript"">parent."&formname1&"."&inputname4&".value='"&replace(file.ext,".","")&"';"
response.write "</script>"
end if
if fileaction="article" then
response.write "<script language=""javascript"">parent.document.all.d_width.value='"&file.ImageWidth&"';"
response.write "</script>"
response.write "<script language=""javascript"">parent.document.all.d_height.value='"&file.ImageHeight&"';"
response.write "</script>"
end if
if issize=1 then
response.write "<script language=""javascript"">parent."&formname1&"."&inputname3&".value='"&formatnumber(file.size/1024,0)&"k';"
response.write "</script>"
end if
if islit=1 then
Dim sSmallPath //缩略图名
sSmallPath = BuildSmallPic(UploadFilePath&file.filename,UploadFilePath2,picwidth,pichight)
select case sSmallPath
case "Error_01"
response.write "<div style=""color:red;font-size:12px;"">Error_01:创建AspJpeg组件失败,没有正确安装注册该组件 <a href=""uploadfile.asp?big="&file.path&"&act=delete&action="&fileaction&""">删除</a></div>"
case "Error_02"
response.write "<div style=""color:red;font-size:12px;"">Error_02:缩略图原图片不存在,检查s_OriginalPath参数传入值<a href=""uploadfile.asp?big="&file.path&"&act=delete&action="&fileaction&""">删除</a></div>"
case "Error_03"
response.write "<div style=""color:red;font-size:12px;"">Error_03:缩略图存盘失败.可能原因:缩略图保存基地址不存在,检查s_OriginalPath参数传入值;对目录没有写权限;磁盘空间不足 <a href=""uploadfile.asp?big="&file.path&"&act=delete&action="&fileaction&""">删除</a></div>"
case else
response.write "<script language=""javascript"">parent."&formname1&"."&inputname2&".value='"&UploadFilePath4&sSmallPath&"';"
response.write "</script>"
response.write "<div style=""color:green;font-size:12px;"">上传成功! <a href=""uploadfile.asp?big="&file.path&"&small="&savepath1&"\"&sSmallPath&"&act=delete&action="&fileaction&""" onclick=""parent."&formname1&"."&inputname1&".value='';parent."&formname1&"."&inputname2&".value=''"">删除</a></div>"
end select
if isdel=1 then
File.Delete
end if
else
response.write "<div style=""color:green;font-size:12px;"">上传成功!<a href=""uploadfile.asp?big="&file.path&"&act=delete&action="&fileaction&""" onclick=""parent."&formname1&"."&inputname1&".value=''"">删除</a></div>"
end if
end if
next
else
%>
<%
if request("act")="delete" then
filename_1=Request.QueryString("big")
filename_2=Request.QueryString("small")
DeleteFile(filename_1)
DeleteFile(filename_2)
end if
dim SPid,barref,UploadProgress
Set UploadProgress = Server.CreateObject("Persits.UploadProgress")
SPid = UploadProgress.CreateProgressID()
PID = "PID=" & SPid
barref = "framebar.asp?to=10&" & PID
%>
<SCRIPT LANGUAGE="JavaScript">
function ShowProgress()
{
strAppVersion = navigator.appVersion;
if (document.MyForm.FILE1.value != "")
{
if (strAppVersion.indexOf("MSIE") != -1 && strAppVersion.substr(strAppVersion.indexOf("MSIE")+5,1) > 4)
{
winstyle = "dialogWidth=375px; dialogHeight:175px; center:yes;status:no";
window.showModelessDialog("<% = barref %>&b=IE",window,winstyle);
}
else
{
window.open("<% = barref %>&b=NN","","width=370,height=165", true);
}
}
return true;
}
function chk()
{
if (MyForm.FILE1.value=="")
{
alert("请从硬盘选择你要上传的文件...");
return false;
}
}
</SCRIPT>
<FORM NAME="MyForm" method="post" ENCTYPE="multipart/form-data" ACTION="?<%=PID%>&act=upload&action=<%=fileaction%>" OnSubmit="return ShowProgress();">
<INPUT NAME="FILE1" TYPE="FILE" SIZE="16"> <input name="Submit" type="submit" value="上 传" onclick="return chk()"></FORM>
<%end if%>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -