本函数是用“化境
ASP无组件上传程序上传文件。
核心函数:
<%
'''''==============================
'函数名: upfile
'作用 : 使用“化境上传组件”上传文件到 服务器上
'参数: file1 文件对象
' savepath 文件要保存的相对路径 ,如". ./"上一级上录,""同目录
' maxsize 允许上传文件的最大值 ,单位KB.为 0不限大小 .
' savetype 允许上传文件的类型, 0不限制,限制的格式 .如 .jpg|.bmp|.zip
'返回值:返回上传信息,也可自己根据须要设定返回值
'前提: set upload=new upload_5xsoft ''建立上传对象
' set file1=upload.file("file1") ''生成一个文件对象
' Designer:suercool
function upfile(file1,savepath,maxsize,savetype)
if file1.filename="" and file1.filesize<=0 then
upfile="<script language='JavaScript'>alert('文件不存在!')</script>"
exit function
end if
if maxsize<>"0" andfile1.filesize> clng( maxsize)*1024then
upfile="<script language=' Javascript'>alert('文件大小超过了限制,最大只能上传" & cstr( maxsize)& "Kb的文件! ')</script>"
exit function
end if
dim filename,filetype
filename=file1.filename
filetype=getfiletype(filename)
if savetype<>"0" then
dim arrtype,i,foundtype
arrtype=split(savetype,"|")
foundtype=false
for i = 0 to ubound(arrtype)
if lcase( arrtype(i))= filetype then
foundtype=true
exit for
end if
next
if not foundtype then
upfile="<script language=' javascript'>alert('文件格式不下确,只允许上传" & savetype &"格式的文件!')</script>"
exit function
end if
end if
randomize()
filepath= savepath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&int( rnd*9999)&filetype
file1.saveas server.mappath( filepath)
if err.description<>"" then
upfile="<script language=' javascript'>alert('出现未知错误,上传失败,请重试!')</script>"
err.clear
else
upfile="<script language=' javascript'>alert('上传成功 !"+filepath+"');</script>"
end if
set file1=nothing
end function
''''''''===========
'函数名: getfiletype
'作用 : 得到文件的类型
'参数: filename文件名
'返回值:文件类型 , 无类型返回""
' Designer:suercool
function getfiletype(filename)
dim i
for i=( len(filename)-1) to1 step -1
if mid(filename,i,1)="." then
getfiletype= lcase(mid(filename,i))
exit function
end if
next
getfile=""
end function
%>
实例 (upfile3.asp):
<!--#include FILE="upload_5xsoft.inc"-->
<html>
<head>
<title>Upfile</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form action="upfile3.asp" name=" frmupfile"id=" frmupfle" enctype="multipart/form-data"method=post>
<input type=file name="file1">
<input type=submit value="上传 " name=subupfile>
<input type=hidden name=" upfilename"value="">
<% set upload=new upload_5xsoft ''建立上传对象
if upload.form("subupfile")="上传" then
set file1= upload.file("file1")
dim re
savetype=". jpg|.htm|.bmp|"
re= upfile(file1,"","0",savetype)
response.write re
end if
%>
</form>
</body>
</html>
核心函数:
<%
'''''==============================
'函数名: upfile
'作用 : 使用“化境上传组件”上传文件到 服务器上
'参数: file1 文件对象
' savepath 文件要保存的相对路径 ,如". ./"上一级上录,""同目录
' maxsize 允许上传文件的最大值 ,单位KB.为 0不限大小 .
' savetype 允许上传文件的类型, 0不限制,限制的格式 .如 .jpg|.bmp|.zip
'返回值:返回上传信息,也可自己根据须要设定返回值
'前提: set upload=new upload_5xsoft ''建立上传对象
' set file1=upload.file("file1") ''生成一个文件对象
' Designer:suercool
function upfile(file1,savepath,maxsize,savetype)
if file1.filename="" and file1.filesize<=0 then
upfile="<script language='JavaScript'>alert('文件不存在!')</script>"
exit function
end if
if maxsize<>"0" andfile1.filesize> clng( maxsize)*1024then
upfile="<script language=' Javascript'>alert('文件大小超过了限制,最大只能上传" & cstr( maxsize)& "Kb的文件! ')</script>"
exit function
end if
dim filename,filetype
filename=file1.filename
filetype=getfiletype(filename)
if savetype<>"0" then
dim arrtype,i,foundtype
arrtype=split(savetype,"|")
foundtype=false
for i = 0 to ubound(arrtype)
if lcase( arrtype(i))= filetype then
foundtype=true
exit for
end if
next
if not foundtype then
upfile="<script language=' javascript'>alert('文件格式不下确,只允许上传" & savetype &"格式的文件!')</script>"
exit function
end if
end if
randomize()
filepath= savepath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&int( rnd*9999)&filetype
file1.saveas server.mappath( filepath)
if err.description<>"" then
upfile="<script language=' javascript'>alert('出现未知错误,上传失败,请重试!')</script>"
err.clear
else
upfile="<script language=' javascript'>alert('上传成功 !"+filepath+"');</script>"
end if
set file1=nothing
end function
''''''''===========
'函数名: getfiletype
'作用 : 得到文件的类型
'参数: filename文件名
'返回值:文件类型 , 无类型返回""
' Designer:suercool
function getfiletype(filename)
dim i
for i=( len(filename)-1) to1 step -1
if mid(filename,i,1)="." then
getfiletype= lcase(mid(filename,i))
exit function
end if
next
getfile=""
end function
%>
实例 (upfile3.asp):
<!--#include FILE="upload_5xsoft.inc"-->
<html>
<head>
<title>Upfile</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form action="upfile3.asp" name=" frmupfile"id=" frmupfle" enctype="multipart/form-data"method=post>
<input type=file name="file1">
<input type=submit value="上传 " name=subupfile>
<input type=hidden name=" upfilename"value="">
<% set upload=new upload_5xsoft ''建立上传对象
if upload.form("subupfile")="上传" then
set file1= upload.file("file1")
dim re
savetype=". jpg|.htm|.bmp|"
re= upfile(file1,"","0",savetype)
response.write re
end if
%>
</form>
</body>
</html>