回 帖 发 新 帖 刷新版面

主题:如何才能只获硬盘上一个文件的文件名

小弟,今天在写一个上传文件代码时,遇到一个问题:就是在获得文件名时,总是一起把文件名后的点"."一起得到,希望大家能帮小弟一下,如何才能把后边的点去掉.
  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个回复)

沙发

filename   =   left(filename,len(filename)-1)

板凳

不行,我试过,提示left有语法错误
然后,我试图用
  filename   =  left(filename,instrrev(filename,"."))
  a=len(filename)-1
  filename   =   left(filename,a)
也同样提示有提示left语法错误

3 楼


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 楼

如果用常量来获取是可以了,但是当我用
<% 
 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 楼

a=InstrRev(Str,"\")+1 '这句中的str是什么?

如果你仅仅是为了获取文件取,需要将 enctype="multipart/form-data"这个去掉。

6 楼

不好意思,刚才复制时忘记改了,改为
a=InstrRev(rootpath),"\")+1
试了一下,还是提示:
无效的过程调用或参数: 'Mid'
去掉enctype="multipart/form-data"也是不可以.

7 楼

你应该知道如果用enctype="multipart/form-data",那么用request.form是接收不到的,你可以结何无组件上传类里的upload.form()来接收这个值,然后再做相应的处理,至于直接获取这个值的方法,我也不知道,有没有人会,告诉一声

我来回复

您尚未登录,请登录后再回复。点此登录或注册