• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ASP文件上传函数库

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 17次 | 进入软件测试论坛讨论

领测软件测试网 54powerman

说明:
如果你需要file表单的串值,用GetFullName("file")
如果需要file表单的文件名,用GetFileName("file")
如果需要file表单的扩展名,用GetExtName("file")
如果需要普通文本表单的值,用MyRequest("password")
如果需要file表单的二进制值,也是用MyRequest("file")
保存文件用SaveFile("file","myUpload.jpg")
写入数据库的格式:
Rs.AppandChunk MyRequest("file")


<%
‘’Program:54powerman
‘’EMail & MSN:54powerman@163.com
‘’QQ:19486554
‘’初始化数据
 Response.buffer=true
 FormData = Request.BinaryRead(Request.TotalBytes)
 bncrlf = ChrB(13)&ChrB(10)
 Set sr=CreateObject("Adodb.Stream")
 sr.Mode=3
 sr.Type=1
 sr.Open
 sr.Write FormData
 Init=sr
‘’常用函数
Function Str2B(Str)
 For i = 1 To len(Str)
  Str2B = Str2B&ChrB(Asc(Mid(Str,i,1)))
 Next
End Function

Function B2Str(Str)
 For i = 1 To LenB(Str)
  ThisCharCode = AscB(MidB(Str,i,1))
  If ThisCharCode < &H80 Then
   B2Str = B2Str & Chr(ThisCharCode)
  Else
   NextCharCode = AscB(MidB(Str,i+1,1))
   B2Str = B2Str & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
   i = i + 1
  End If
 Next
End Function

Function MyRequest(FormName)
 divider = leftb(FormData,inStrb(FormData,bncrlf)-1)
 Cur = inStrb(FormData,Str2B("name=")&ChrB(34)&Str2B(FormName)&ChrB(34))
 MyRequest=null
 DataStart=inStrb(Cur,FormData,bncrlf&bncrlf)+4
 DataEnd = inStrb(DataStart+1,FormData,divider)-DataStart
 TempStr = Midb(FormData,Cur,DataStart)
 If inStrb(TempStr,Str2B("filename=")) Then
  MyRequest = Midb(FormData,DataStart,DataEnd)
 else
  MyRequest = B2Str(Midb(FormData,DataStart,DataEnd))
 End If
End Function

Function GetFullName(FormName)
 divider = leftb(FormData,inStrb(FormData,bncrlf)-1)
 Cur = inStrb(FormData,Str2B("name=")&ChrB(34)&Str2B(FormName)&ChrB(34))
 DataStart=inStrb(Cur,FormData,Str2B("filename="))+10
 DataEnd = inStrb(DataStart+1,FormData,ChrB(34))-DataStart
 TempStr = Midb(FormData,Cur,DataStart)
 GetFullName = B2Str(Midb(FormData,DataStart,DataEnd))
End Function

Function GetFileName(FormName)
  FullName=GetFullName(FormName)
 GetFileName = Mid(FullName,InStrRev(FullName,"\")+1)
End Function

Function GetExpName(FormName)
 GetExpName = Mid(GetFileName(FormName),InStrRev(GetFileName(FormName),".")+1)
End Function

Function SaveFile(FormName,FileName)
 divider = leftb(FormData,inStrb(FormData,bncrlf)-1)
 Cur = inStrb(FormData,Str2B("name=")&ChrB(34)&Str2B(FormName)&ChrB(34))
 SaveFile=false
 DataStart=inStrb(Cur,FormData,bncrlf&bncrlf)+4
 DataEnd = inStrb(DataStart+1,FormData,divider)-DataStart

 set dr=CreateObject("Adodb.Stream")
    dr.Mode=3
    dr.Type=1
    dr.Open
    sr.Position=DataStart-1
    sr.CopyTo dr,DataEnd
    dr.SaveToFile FileName,2

    sr.Close
    set sr=nothing
    dr.Close
    set dr=nothing
    SaveFile=true
End Function

Function FileSize(FormName)
 divider = leftb(FormData,inStrb(FormData,bncrlf)-1)
 Cur = inStrb(FormData,Str2B("name=")&ChrB(34)&Str2B(FormName)&ChrB(34))
 FileSize=0
 DataStart=inStrb(Cur,FormData,bncrlf&bncrlf)+4
 FileSize = inStrb(DataStart+1,FormData,divider)-DataStart-2
End Function
%>

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网