设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 77|回复: 4
打印 上一主题 下一主题

关于ASP无组件上传文件的命名问题

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-10 22:40:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用ASP无组件上传文件,文件名不变;比如:我上传 5.jpg上传后还是5.jpg
请教怎么改

<%
dim Upload,File,FormName,SaveToPath,FileName,FileExt
dim RanNum
call UpFile()
'===========无组件上传(upload_0)====================
sub UpFile()
  set Upload=new UpFile_Class '建立上传对象
  Upload.GetData (1024*1024*15) '取得上传数据,此处即为15M

  if Upload.err > 0 then
    select case Upload.err
      case 1
        Response.Write "请先选择您要上传的文件,<a href=# onclick=history.go(-1)>返回</a>&nbsp;!"
      case 2
        Response.Write "文件大小超过了限制15M,<a href=# onclick=history.go(-1)>返回</a>&nbsp;!"
    end select
    exit sub
  else
    SaveToPath=Upload.form("SaveToPath") '文件保存目录,此目录必须为程序可读写
    if SaveToPath="" then
      SaveToPath="../"
    end if
    '在目录后加(/)
    if right(SaveToPath,1)<>"/" then
      SaveToPath=SaveToPath&"/"
    end if
    for each FormName in Upload.file '列出所有上传了的文件
      set file=Upload.file(FormName) '生成一个文件对象
      if file.Filesize<100 then
        response.write "请先选择您要上传的文件,<a href=# onclick=history.go(-1)>返回</a>&nbsp;!"
        response.end
      end if

      FileExt=lcase(File.FileExt)
      if CheckFileExt(FileEXT)=false then
        response.write "文件格式不允许上传,<a href=# onclick=history.go(-1)>返回</a>&nbsp;!"
        response.end
      end if

      randomize timer
      RanNum=int(9000*rnd)+1000
      Filename=SaveToPath&request("FileName")&fileExt
      if file.FileSize>0 then '如果 FileSize > 0 说明有文件数据
        Result=file.SaveToFile(Server.mappath(FileName)) '保存文件
        if Result="ok" then
        
          response.write "<table width='100%' border='0' cellspacing='0' cellpadding='0'>"
          response.write "<tr>"
          response.write "<td width='60' height='30'>上传成功:</td>"
          response.write "<td nowrap><font color='#ff0000'>"&File.FilePath&file.FileName&"</font></td>"
          response.write "</tr>"
          response.write "<tr>"
          response.write "<td nowrap height='30'>保存路径:</td>"
          response.write "<td nowrap><input type='text' size='56' class='textfield' value='"&right(FileName,len(FileName))&"'></td>"
          response.write "</tr>"
          response.write "<tr>"
          response.write "<td nowrap height='30'>文件大小:</td>"
          response.write "<td nowrap><input type='text' size='56' class='textfield' value='"&GainFileSize(file.Filesize)&"'></td>"
          response.write "</tr>"         
          response.write "<tr>"
          response.write "<td height='36' colspan='2' valign='bottom' align='center'><input name='CopyPath' type='button' class='button' value='拷贝文件路径'  onclick=""CopyPath('"&right(FileName,len(FileName))&"','"&GainFileSize(file.Filesize)&"')""></td>"
          response.write "</tr>"
          response.write "</table>"
        else
          response.write File.FilePath&file.FileName&"上传失败&nbsp;!"&Result&"<br>"
        end if
      end if
      set file=nothing
    next
    set Upload=nothing
  end if
end sub

'判断文件类型是否合格
Private Function CheckFileExt (FileEXT)
  dim ForumUpload
  ForumUpload="exe,gif,jpg,jpeg,rar,zip,doc"
  ForumUpload=split(ForumUpload,",")
  for i=0 to ubound(ForumUpload)
    if lcase(FileEXT)=lcase(trim(ForumUpload(i))) then
      CheckFileExt=true
      exit Function
    else
      CheckFileExt=false
    end if
  next
End Function

Private Function GainFileSize (SizeByte)
  if SizeByte < 1024*1024 then
    GainFileSize=round(SizeByte/1024,2) & "&nbsp;KB"
  else  
    GainFileSize=round(SizeByte/1024/1024,2) & "&nbsp;MB"
  end if
End Function

%>
2#
发表于 2010-1-10 22:40:49 | 只看该作者
先说一下,这行代码是有语法错误的,不过编译器经常抽风不报错:
  Upload.GetData (1024*1024*15) '取得上传数据,此处即为15M

关于保存文件,我觉得关键在这里:

程序代码:
      Filename=SaveToPath&request("FileName")&fileExt
      if file.FileSize>0 then '如果 FileSize > 0 说明有文件数据
        Result=file.SaveToFile(Server.mappath(FileName)) '保存文件


用FileName确定了文件要保存到哪里,这里调用了一个Request("FileName"),估计是表单里的“文件标题”域,那么你要获取原文件名,这个建议你看一下Upload类里是怎么定义的。
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-10 22:40:53 | 只看该作者
晕 看了不会贴啊
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-10 22:40:56 | 只看该作者
没人知道吗 在线等啊 急死了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 00:24 , Processed in 0.076141 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表