站內搜尋:Yahoo搜尋如果沒有給完整的網址,請在站內再搜尋一次!

2015-12-05

在ASP環境下使用AspSmartUpload上傳檔案

  1. AspSmartUpload是免費的DLL元件,包含兩個DLL檔案:AspSmartUpload.dll及AspSmartUploadUtil。
    將這兩個檔案放到C:\Windows\System32目錄下
    使用以下指令註冊元件:regsvr32.exe C:\Windows\System32\AspSmartUpload.dll
  2. 單一檔案上傳使用方法:
    假設上傳的來源網頁
    <form mothed="post" action="UploadImg.asp" enctype="multipart/form-data" >
        <label>圖檔標題:</label>
        <input type="text" id="txtTitle" name="txtTitle" />
        <input type="file" id="fileImage" name="fileImage" />
        <input type="submit" value="上傳圖檔" />
    </form>

    ''UploadImg.asp 的上傳相關內容
    ''建立上傳物件
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    ''指定網頁所使用的字元集
    mySmartUpload.CodePage = "950"
    ''限制上傳檔案的大小 1MB=1204*1024=1048576
    myUploadfile.MaxFileSize = 1048576
    ''指定可以接受的檔案格式
    myUploadfile.AllowedFilesList = "jpg,gif,png,swf"
    ''以Upload方法接收來源網頁所傳送過來的資料,放到mySmartUpload物件
    mySmartUpload.Upload

    ''從mySmartUpload物件中,將來源網頁的 各input內容解析出來
    zTxtTitle = mySmartUpload.Form("txtTitle").values
    ''從mySmartUpload物件中的files collection 取出檔案的檔名
    zFileName = mySmartUpload.files.item(1).FileName
    ''指定在server中要存放路徑
    zPath = server.mappath("../") & "\upload\" & zFileName
    ''將檔案儲存到指定的路徑
    mySmartUpload.files.item(1).saveas(zPath)
    ''釋放mySmartUpload物件
    Set mySmartUpload = Nothing
  3. 多檔案上傳使用方法:
    假設上傳的來源網頁
    <form mothed="post" action="UploadImg.asp" enctype="multipart/form-data" >
        <label>圖檔標題:</label>
        <input type="text" id="txtTitle1" name="txtTitle1" />
        <input type="file" id="fileImage1" name="fileImage1" />
        <input type="text" id="txtTitle2" name="txtTitle2" />
        <input type="file" id="fileImage2" name="fileImage2" />
        <input type="text" id="txtTitle3" name="txtTitle3" />
        <input type="file" id="fileImage3" name="fileImage3" />
        <input type="submit" value="上傳圖檔" />
    </form>

    ''UploadImg.asp 的上傳相關內容
    ''建立上傳物件
    Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
    ''指定網頁所使用的字元集
    mySmartUpload.CodePage = "950"
    ''限制上傳檔案的大小 1MB=1204*1024=1048576
    myUploadfile.MaxFileSize = 1048576
    ''指定可以接受的檔案格式
    myUploadfile.AllowedFilesList = "jpg,gif,png,swf"
    ''以Upload方法接收來源網頁所傳送過來的資料,放到mySmartUpload物件
    mySmartUpload.Upload

    ''取得多個檔案的內容
    i = 1
    For each file In mySmartUpload.Files
    if not file.IsMissing then
    zPath = server.mappath("../") & "\upload\" & file.FileName
    file.Saveas(zPath)
    zTxtTitle = mySmartUpload.form("txtTitle" & i)
    '' ....  處理儲存 zTxtTitle  ....
    end if
    i = i + 1
    next
    Set mySmartUpload = nothing
  4. AspSmartUpload物件主要的屬性或方法:
    • CodePage : POST頁面的語系
    • TotalMaxFileSize : 所有POST頁面內上傳檔案大小的合計限制
    • MaxFileSize :個別上傳檔案的大小限制 
    • AllowedFilesList : 允許上傳的檔案類型(正面表列) 
    • DeniedFilesList : 禁止上傳的檔案類型(負面表列) 
    • Upload : 取得POST頁面所傳送過來的資料
    • Save : 將上傳的檔案,儲存在目前路徑下
  5.  AspSmartUpload物件,包含兩個collection : Files, Form
  6. Files collection 由 file組成,Files的屬性方法...
    • Count : 上傳檔案的個數 
    • TotalBytes : 上傳檔案的大小合計 
    • Item(id) : 取得指定id的檔案附件
  7. file的屬性方法:
    • FileName : 原上傳檔案的檔名
    • FileExt : 上傳檔案的類型
    • FilePathName : 原上傳的檔案路徑 
    • Size : 檔案大小 
    • IsMissing : input file 是否已指定? 
    • SaveAs
    • Save
    • FileToField : 把檔案儲存到資料庫 
參考來源:http://www.cooldocument.com/451651046/

沒有留言:

張貼留言