各位好:
我想用lyfupload 文件上传组件上传文件,但上传后,文件名不保留为原来的文件名而是以上传时的日期和时间来命名文件,比如选择上传的文件名为index.jpg,上传到upload文件夹后想给改成2007731160520.jpg,该怎么实现呢,以下是我写的不完整的程序.该怎么修改下呢,请各位高手帮忙,谢谢了.这个程序只能实现数据库中文件名改了,但在文件夹中的仍是index.jpg,而不是2007731160520.jpg,怎么把文件夹中的名称也给改了呢
<!--#include file="conn.asp"-->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
'调用lyfupload上传组件
Dim Upload
Set upload = Server.CreateObject("LyfUpload.UploadFile")
upload.maxsize=2*1024*1024 '设置文件上传的最大为2M
'设置上传文件保存路径,为当前文件夹下的upload文件夹。
Dim filepath,filename
filepath=Server.MapPath("upload")
'保存文件到服务器,upfile是表单中的名称,filepath是保存路径,False表示不允许覆盖
filename=upload.SaveFile("upfile",filepath,False)
If filename="0" Then
'表示文件过大,超出体积
Response.Write "文件超出2M!请返回"
Response.write "<a href='javascript:history.back(-1);'>重新上传</a><center>"
Elseif filename="3" then
'表示该文件名在服务器上已经存在,需要重新发布。
Response.Write "此文件在服务器上已经存在!请返回"
Response.write "<a href='javascript:history.back(-1);'>重新上传</a><center>"
Else
'将文件信息保存到数据库
Dim strSql
filename=makeFileName()+getExt(filename)
strSql="Insert Into product(filename,title,intro,submit_date,userid)"
strSql=strSql & " Values('" & filename & "','" & upload.request("title") & "','" & Upload.Request("intro") &"',#" & Now() & "#,"& request.QueryString("userid") &")"
conn.Execute(strSql)
'成功插入数据库后,返回首页
Response.Redirect "pro_index.asp?userid=" & request.QueryString("userid")
End If
%>
<%
'该函数用来得到文件的扩展名
Function GetExt(thefilename)
Dim strTemp,numTemp
strTemp=Split(thefilename,".") '拆分成数组
numTemp=Ubound(strTemp) '返回数组的最大下标
If numTemp=0 Then
GetExt="No" '表示没有扩展名
Else
GetExt="." & strTemp(numTemp) '是数组中最后一项
End If
End Function
function makeFileName()
dim f
f=now()
f=replace(f,"-","")
f=replace(f," ","")
f=replace(f,":","")
makeFileName=f
end function
%>
[此贴子已经被阳光白雪于2007-7-31 16:11:05编辑过]