主题:如何才能只获硬盘上一个文件的文件名
anyejingling
[专家分:0] 发布于 2007-05-20 15:21:00
小弟,今天在写一个上传文件代码时,遇到一个问题:就是在获得文件名时,总是一起把文件名后的点"."一起得到,希望大家能帮小弟一下,如何才能把后边的点去掉.
set fso=server.createobject("scripting.filesystemobject")
filename = Right(rootpath,len(rootpath)-InstrRev(rootpath,"\"))
filename = left(filename,instrrev(filename,"."))
filename = left(filename,len(filename))
Response.Write filename
回复列表 (共7个回复)
沙发
yaozheng [专家分:28410] 发布于 2007-05-20 16:08:00
filename = left(filename,len(filename)-1)
板凳
anyejingling [专家分:0] 发布于 2007-05-20 17:01:00
不行,我试过,提示left有语法错误
然后,我试图用
filename = left(filename,instrrev(filename,"."))
a=len(filename)-1
filename = left(filename,a)
也同样提示有提示left语法错误
3 楼
lrj525 [专家分:260] 发布于 2007-05-20 18:53:00
str="E:\paper\database\paper.mdb"
a=InstrRev(Str,"\")+1
b=Mid(Str,a)
c=Instr(b,".")-1
d=Mid(b,1,c)
Response.Write(d)
这样就可以了
4 楼
anyejingling [专家分:0] 发布于 2007-05-20 19:59:00
如果用常量来获取是可以了,但是当我用
<%
rootpath=request.Form("file")
a=InstrRev(Str,"\")+1
b=Mid(Str,a)
c=Instr(b,".")-1
d=Mid(b,1,c)
Response.Write(d)
%>
<form name="form1" enctype="multipart/form-data" method="post" action="">
<input type="file" name="file">
<input type="submit" name="Submit" value="提交">
</form>
再进行打开时,刷新时出现如下提示:
无效的过程调用或参数: 'Mid'
/ss/1.asp, 第 6 行
5 楼
wangsdong [专家分:21390] 发布于 2007-05-20 20:56:00
a=InstrRev(Str,"\")+1 '这句中的str是什么?
如果你仅仅是为了获取文件取,需要将 enctype="multipart/form-data"这个去掉。
6 楼
anyejingling [专家分:0] 发布于 2007-05-21 09:16:00
不好意思,刚才复制时忘记改了,改为
a=InstrRev(rootpath),"\")+1
试了一下,还是提示:
无效的过程调用或参数: 'Mid'
去掉enctype="multipart/form-data"也是不可以.
7 楼
lrj525 [专家分:260] 发布于 2007-05-21 10:12:00
你应该知道如果用enctype="multipart/form-data",那么用request.form是接收不到的,你可以结何无组件上传类里的upload.form()来接收这个值,然后再做相应的处理,至于直接获取这个值的方法,我也不知道,有没有人会,告诉一声
我来回复