ASP中多檔案同時上傳解決方案 (轉)

worldblog發表於2007-12-10
ASP中多檔案同時上傳解決方案 (轉)[@more@]

中多同時解決方案

上傳表單如下:

標題:    性別: 女 屬於: < multiple size=6 name=sel1> 是否選定: 內容: 分類:      選取檔案一:    選取檔案二:    選取檔案三:    選取檔案四:    選取檔案五: 

 

ASP:



檔案上傳


    Response.Write "總共上傳 " & obj.Count & " 個檔案
總資料大小 " & obj.TotalBytes & " Bytes
共花費了時間 " & (obj.SpendTime/1000) & " 秒
"
  response.write obj.version %>



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
標題:
屬於:
性別:
分類:
內容:
是否選定:
提交按鈕:

 


上傳檔案如下:



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
    set Obj=nothing %>
名稱檔名(包括副檔名)檔名(不含副檔名)檔案大小(B)原檔案路徑副檔名原檔名(含路徑)

 
 

 
 

 
 

 
 

 
 

 
 

 
 




上傳結果:

總共上傳 5 個檔案
總資料大小 4317 Bytes
共花費了時間 .321 秒
YouUpload 1.0版 版權所有(C)徐長友


標題: ASP中多檔案同時上傳解決方案 屬於:體育藝術 性別:男 分類:分類3 內容: 在大多數中,我們希望由無狀態會話Bean形式的工廠或管理器觸發適當的事件。但容器建立每一個Bean例項的時候都會帶有一組重複的器。本文告訴你如何在EJB環境中正確實現“觀察者”。 是否選定:是 提交按鈕:確認上傳

上傳檔案如下:

名稱檔名(包括副檔名) 檔名(不含副檔名) 檔案大小(B) 原檔案路徑副檔名原檔名(含路徑) file1 AUTOEXEC.BAT AUTOEXEC 2 C: .BAT C:AUTOEXEC.BAT file2 boot.ini boot 199 C: .ini C:boot.ini file3 CONFIG.SYS CONFIG 2 C: .SYS C:CONFIG.SYS file4 skin.txt skin 2236 C: .txt C:skin.txt file5 WINNTnwstatus.txt WINNTnwstatus 59 C: .txt C:WINNTnwstatus.txt

以上使用了YouUpload上傳,下面是YouUpload的介紹:

YouUpload -- 檔案上傳元件

歡迎使用YouUpload !

許可

請參閱license.txt

功能簡介

  • 支援上傳多個檔案
  • 支援所有格式的檔案上傳,zip,jpg,gif等格式全部支援
  • 支援將上傳的檔案改名儲存
  • 支援同時使用其它的foinput,攜帶附加的資訊,例如,檔案說明
  • 支援判斷上傳檔案的大小、檔案型別
  • 支援將檔案內容儲存進
  • 支援上傳到FTP目錄中
  • 無需IIS將目錄設定為Write(如果是NTFS檔案系統,其性需要設定,可以簡單的設定為everyone full control,或者設定為IUSR_SERVER full control)
  • YouUpload目前無任何功能限制,完全免費使用
  • 適用系統

    適用於 98 + pws4 ,NT4.0 server + 4 ,+IIS 5

    地址

     /FileBBS/files/2001_9/T_567_1.zip" target=_blank>

    指南

    要求: Server 4 Edition + SP3 + IE4.01 + Option Pack / + IE4.01

    1. 如果下載的是安裝,執行Setup即可
    2. 測試,你安裝目錄下的Examples複製到的釋出目錄即可測試預設文件Default.asp
    3. 在位址列輸入如 ''
    4. 如果上方出現版權所有,基本上沒多大問題了
    5. 你再上傳一些檔案試一下

    元件屬性

    • object.Form(FieldName)
      返回表單資料

      object.Form("title") 'title是表單名稱

    • object.SaveFile(FieldName, FileName)
      FieldName:表單名
      FileName:新的檔名(注:要包括路徑)

      Dim upl, FileName
      Set upl = Server.CreateObject("yousoft.YouUpload")
      FileName = upl.FileName("File1")
      upl.SaveFile "File1", "c:temp" & FileName

    • object.SaveFileAs(FieldName, FName)
      FieldName:表單名
      FileName:新的檔名(注:要包括路徑)

      Dim upl, FileName
      Set upl = Server.CreateObject("yousoft.YouUpload")
      FileName = upl.FileName("File1")
      upl.SaveFileAs "File1", "c:temp" & FileName

    • object.SaveToFtp(ftp_Host,ftp_Port,timeout,ftp_user,ftp_pass,
      Use_,Proxy_Host,Proxy_port,User_dir,FieldName,FileName)
      ftp_Host :Ftp主機(最好用)
      ftp_Port :ftp伺服器埠(一般為21)
      timeout :連線ftp超時時間
      ftp_user :ftp登入名
      ftp_password :ftp登入密碼
      Use_Proxy :是否使用伺服器連線ftp,如果 =1 則使用代理 =0 不使用代理
      Proxy_Host :代理伺服器主機(最好用IP),結合Use_proxy使用
      Proxy_Port :代理伺服器埠,結合Use_proxy使用
      User_dir :當前ftp路徑,為空則表示不指定路徑,即登入後預設路徑
      FieldName :表單名稱,從這決定儲存的檔案
      FileName :指定新的檔名

      Obj.SaveToFtp "192.168.7.168",21,5000,"xu","xu",0,"",0,"","file1","new.exe"

    • object.FileName(FieldName)

    • 得到檔名(包括副檔名)

    • object.FilePath((FieldName)
      取得上傳檔案路徑

    • object.FileSize((FieldName)
      取得上傳檔案大小

    • object.FileExt(FieldName)
      取得上傳副檔名

    • object.OldFileName(FieldName)
      取得上傳檔案完整名(包括路徑在內)

    • object.FileNameX(FieldName)
      得到檔名(不包括副檔名)

    • object.Count
      上傳檔案數目

    • object.TotalBytes
      上傳資料總位元組數

    • object.SpendTime
      上傳所花時間(單位:毫秒)

    • object.userFile(N)
      取得上傳檔案第N個的名稱(表單名)

    • object.GetFileData(FieldName,DataType)
      取得上傳檔案資料
      DataType :
      "bin" 取得二進位制資料
      "txt" 取得文字資料

      你可以取得資料存放到資料庫中,以文字或二進位制方式存放

    • object.Version
      取得當前YouUpload版本

     

    使用說明

    請參考Examples目錄下的示例

    上傳form的寫法


    enctype="multipart/form-data" 是必須的,並且method必須是post

    如果獲得上傳檔案的檔案個數
    set obj=server.createobject("Yousoft.UploadFile")
    response.write "檔案個數:"&obj.count

    如果上傳多個檔案,如果確定對應file input上傳的檔案
    obj.userFile(N)
    取得上傳檔案第N個的名稱(表單名)

    如何獲得檔案的字尾名
    ext=FileExt(FieldName) 'FieldName為表單名,如'file1'

    如何將檔案內容儲存進資料庫
    如果你使用 SERVER,需要定義一個image型別的欄位
    dim conn,rs
    set conn=server.CreateObject("ado.connection")
    conn.open "testfile","sa","xxx"
    set rs=server.CreateObject("adodb.recordset")
    rs.Open "SELECT * FROM [file] where filename is null",conn,1,3
    rs.AddNew
    rs("filename")=obj.FileName('file1')
    rs("filesize")=obj.FileSize('file1')
    rs("filecontent").AppendChunk Obj.GetFileData (userFile,"bin") 'BLOB資料不能直接賦值 如果不是二進位制儲存 "bin" 改為 "txt"
    rs.Update
    rs.Close
    conn.Close
    set rs=nothing
    set conn=nothing 
    相反的要將資料從資料庫裡面取出來,請參考下面的程式
    dim conn,rs
    dim content
    set conn=server.CreateObject("adodb.connection")
    conn.open "testfile","sa","xxx"
    set rs=server.CreateObject("adodb.recordset")
    rs.Open "SELECT * FROM [file] where id =" & id,conn,1,1
    content=rs("filecontent").getChunk(clng(rs("filesize")))))
    conn.Close
    set rs=nothing
    set conn=nothing 

    安裝可能出現的問題

    如果你發現,請與我聯絡!

    程式使用可能存在的問題

    如果你發現,請與我聯絡!

    測試反饋

    如果你在測試中發現任何問題,請to: ,或者請在我的bbs進行討論或留言。

    希望大家能對這個元件多提意見。

    在我們討論asp問題的時候,常常會遇到許多問題只有利用asp components來解決,而這些com通常只有在國外的站點才可能找到,可見國內的這方面的東東還少。所以我希望得到各位的支援。


    來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990843/,如需轉載,請註明出處,否則將追究法律責任。

    相關文章