主题:  对文件,图片上传统一解答.

5D荣誉斑竹

职务:普通成员
等级:1
金币:1.0
发贴:131
注册:2001/1/25 21:29:26
#12002/4/14 1:15:30
很多朋友总被文件,图片上传的问题所困惑.其实用asp实现文件,图片的上传不外两种方法.1.把文件保存到数据库中.2.用组件把文件保存在一个指定目录中.我比较赞同第二种方法,我也做过把文件保存到数据库中的方法来实现对文件的操作,但比较麻烦,除了编写比较烦琐,不清晰之外,更麻烦的是,有很多格式的文件用这种方法无法实现.第二种方法就比较好罗,但有的朋友说,用组件要注册的喔,但告诉你一个好消息,这个组件不用注册,用include包含就可以,是不是很爽啊.

上传照片源代码的下载地址:www.chiker.com/image.zip
上传照片的演示地址:www.chiker.com/image
下面是主要文件源代码的简单解释:

1.上传文件upfile.asp



上传图片







上传图片










  请上传您的照片:

 








  照片的简单描述:

 


 

 












2.图片保存文件


<%
dim upload,file,formName,formPath,iCount
set upload=new upload_5xSoft ''建立上传对象
set rs=server.CreateObject ("ADODB.RecordSet" )
sql="select * from images"
rs.Open sql,conn,1,3

%>
<%'OPTION EXPLICIT%>

<%
'——————————————得到上传目录——————————————
formPath="upfile"
''在目录后加(/),upfile是指定的照片上传目录
if right(formPath,1)<>"/" then formPath=formPath&"/"


iCount=0
for each formName in upload.file ''列出所有上传了的文件
set file=upload.file(formName)


If imagesize>1024 Then%>

<%
response.end
end if


''生成一个文件对象
if file.FileSize>0 then ''如果 FileSize > 0 说明有文件数据

rs.AddNew

title=upload.form("title" )

vfname = makefilename(now())
fname = vfname & iCount & "." & GetExtendName(file.FileName)
file.SaveAs Server.mappath(formPath&fname) ''保存文件
rs("imagename" )=fname
rs("title" )=title
rs("imagesize" )=file.filesize
rs.Update



iCount=iCount+1
end if
set file=nothing
next

rs.Close
set rs=nothing
set upload=nothing ''删除此对象
conn.close
set conn=nothing

Response.Redirect "upfile.asp"
%>
<%
function makefilename(fname)
fname = now()
fname = replace(fname,"-","" )
fname = replace(fname," ","" )
fname = replace(fname,":","" )
fname = replace(fname,"PM","" )
fname = replace(fname,"AM","" )
fname = replace(fname,"上午","" )
fname = replace(fname,"下午","" )
makefilename=fname
end function
function GetExtendName(FileName)
dim ExtName
ExtName = LCase(FileName)
ExtName = right(ExtName,3)
ExtName = right(ExtName,3-Instr(ExtName,"." ))
GetExtendName = ExtName
end function
%>

编辑历史:[这消息被高处不胜寒编辑过(编辑时间2002-04-14 01:19:00)]
[这消息被高处不胜寒编辑过(编辑时间2002-04-15 09:32:31)]
[这消息被高处不胜寒编辑过(编辑时间2002-04-15 09:40:32)]
[这消息被高处不胜寒编辑过(编辑时间2002-04-15 09:41:00)]