| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 224 人关注过本帖
标题:[求助]上传文件类型定义,但不能上传
收藏  订阅  推荐  打印 
thbwn
Rank: 3Rank: 3
等级:中级会员
帖子:213
积分:2286
注册:2007-10-2
[求助]上传文件类型定义,但不能上传

以下是代码:只能传扩展名是3个字母的,四个以上就不能上传,怎么能让任何扩展名的文件都能上传,判断代码应该怎样改呢?

ExtName = "jpg,gif,bmp,chm,exe,png,txt,rar,zip,doc,asp,htm,html,torrent" '允许扩展名

'判断文件类型是否合格
Function CheckFileExt(FileName,ExtName) '文件名,允许上传文件类型
FileType = ExtName
FileType = Split(FileType,",")
For i = 0 To Ubound(FileType)
If LCase(Right(FileName,3)) = LCase(FileType(i)) then
CheckFileExt = True
Exit Function
Else
CheckFileExt = False
End if
Next
End Function

[此贴子已经被作者于2007-10-5 9:29:31编辑过]

搜索更多相关主题的帖子: 上传文件  定义  类型  FileType  扩展名  
2007-10-5 09:27
thbwn
Rank: 3Rank: 3
等级:中级会员
帖子:213
积分:2286
注册:2007-10-2

风声上传类就行的.


          人人为我,我为人人!
2007-10-5 09:39
thbwn
Rank: 3Rank: 3
等级:中级会员
帖子:213
积分:2286
注册:2007-10-2

以下代码解决了判断文件的问题,但又出现一个问题:就是

程序不是随机命名,而是以递增的方式命名.若文件名相同,上传时第四个字母的地方加_1、_2……,扩展名超过四个字母,文件名就不对了。怎样解决这个问题呢:

'判断文件类型是否合格
Function CheckFileExt(FileName,ExtName) '文件名,允许上传文件类型
FileType = ExtName
FileType = Split(FileType,",")
For i = 0 To Ubound(FileType)
If LCase(Right(FileName,3)) = LCase(FileType(i)) or LCase(Right(FileName,4))=LCase(FileType(i)) or LCase(Right(FileName,7))=LCase(FileType(i)) then
CheckFileExt = True
Exit Function
Else
CheckFileExt = False
End if
Next
End Function

[h]

'检查文件是否存在,重命名存在文件
Function CheckFileExists(FileName)
Set fso=Server.CreateObject("Scripting.FileSystemObject")
If fso.FileExists(SaveFile) Then
i=1
msg=True
Do While msg
CheckFileExists = Replace(SaveFile,Right(SaveFile,4),"_" & i & Right(SaveFile,4))
If not fso.FileExists(CheckFileExists) Then
msg=False
End If
i=i+1
Loop
Else
CheckFileExists = FileName
End If
Set fso=Nothing
End Function

[此贴子已经被作者于2007-10-5 10:36:21编辑过]


          人人为我,我为人人!
2007-10-5 10:33
月夜
Rank: 2
等级:注册会员
威望:1
帖子:90
积分:1002
注册:2007-9-5

可以用时间来命名 也是我哥哥教我的呢
set file=upload.file(formName) ''生成一个文件对象
if file.FileSize>0 then ''如果 FileSize > 0 说明有文件数据
file.filename="news_"&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&file.filename
file.SaveAs Server.mappath(formPath&file.FileName) ''保存文件

自己写整站 累死个王八蛋
2007-10-5 10:37
thbwn
Rank: 3Rank: 3
等级:中级会员
帖子:213
积分:2286
注册:2007-10-2

谢了,试试


          人人为我,我为人人!
2007-10-5 11:18
thbwn
Rank: 3Rank: 3
等级:中级会员
帖子:213
积分:2286
注册:2007-10-2

我硬性定义也可解决,就是麻烦点儿:
'检查文件是否存在,重命名存在文件
Function CheckFileExists(FileName)
Set fso=Server.CreateObject("Scripting.FileSystemObject")
If fso.FileExists(SaveFile) Then
i=1
msg=True
Do While msg
if LCase(Right(FileName,7))="torrent" then
CheckFileExists = Replace(SaveFile,Right(SaveFile,8),"_" & i & Right(SaveFile,8))
elseif LCase(Right(FileName,4))="html" then
CheckFileExists = Replace(SaveFile,Right(SaveFile,5),"_" & i & Right(SaveFile,5))
elseif LCase(Right(FileName,2))="js" then
CheckFileExists = Replace(SaveFile,Right(SaveFile,3),"_" & i & Right(SaveFile,3))
else
CheckFileExists = Replace(SaveFile,Right(SaveFile,4),"_" & i & Right(SaveFile,4))
end if
If not fso.FileExists(CheckFileExists) Then
msg=False
End If
i=i+1
Loop
Else
CheckFileExists = FileName
End If
Set fso=Nothing
End Function
%>

          人人为我,我为人人!
2007-10-5 11:23
thbwn
Rank: 3Rank: 3
等级:中级会员
帖子:213
积分:2286
注册:2007-10-2

我笨人有笨办法哟

          人人为我,我为人人!
2007-10-5 11:24
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.077199 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved