用asp实现文件浏览、上传、下载的程序(4)


 On Error Resume Next 
 Dim oFileStream 
 Dim tmpPath 
 Dim nohack 
 isErr=0 
 Set oFileStream = CreateObject ("ADODB.Stream") 
 oFileStream.Type = 1 
 oFileStream.Mode = 3 
 oFileStream.Open 
 oUpFileStream.Position = File(Item).FileStart 
 oUpFileStream.CopyTo oFileStream,File(Item).FileSize 
 nohack=split(path,".") 
 tmpPath=nohack(0)&"."&nohack(ubound(nohack)) 
 if Over then 
  if isAllowExt(GetFileExt(tmpPath)) then 
   oFileStream.SaveToFile tmpPath,2 
   Else 
   isErr_=3 
   ErrMessage_="!" 
  End if 
 Else 
  Path=GetFilePath(Path) 
  if isAllowExt(File(Item).FileExt) then 
   do 
    Err.Clear() 
    nohack=split(Path&GetNewFileName()&"."&File(Item).FileExt,".")  
    tmpPath=nohack(0)&"."&nohack(ubound(nohack)) 
    oFileStream.SaveToFile tmpPath 
   loop Until Err.number<1 
   oFileStream.SaveToFile Path 
   Else 
   isErr_=3 
   ErrMessage_="该后缀名的文件不允许上传!" 
  End if 
 End if 
 oFileStream.Close 
 Set oFileStream = Nothing 
 if isErr_=3 then SaveToFileEx="" else SaveToFileEx=GetFileName(tmpPath) 
End Function 

'取得文件数据 
Public Function FileData(Item) 
 isErr_=0 
 if isAllowExt(File(Item).FileExt) then 
  oUpFileStream.Position = File(Item).FileStart 
  FileData = oUpFileStream.Read (File(Item).FileSize) 
  Else 
  isErr_=3 
  ErrMessage_="" 
  FileData="" 
 End if 
End Function 

Public function GetFilePath(FullPath) 
  If FullPath <> "" Then 
    GetFilePath = Left(FullPath,InStrRev(FullPath, "\")) 
    Else 
    GetFilePath = "" 
  End If 
End function 

Public Function GetFileName(FullPath) 
  If FullPath <> "" Then 
    GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1) 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3374.html