• 熱門專題

如何使用ASP來進行文件上傳操作

作者:whl  發布日期:2018-12-31 08:33:00
  •   最近小編收到一個朋友的求助,說是在使用ASP的過程中遇到了一些難題,不知道應該如何在ASP中進行文件的上傳操作。下面小編就給大家詳細講解下具體的上傳方法以及如何實現的原理,有興趣的朋友趕緊跟著小編一起往下看吧。

      一.基于ASP的文件上傳實現原理分析

      基本原理是:采用ADO Stream對象的BinaryRead方法將FORM中的所有數據讀出,從中截取出所需的文件數據,以二進制文件方式存盤。

      下面是上傳文件頁面的一個例子(upload.htm):

    上傳文件頁面的一個例子

      程序中使用了文件對象,這樣在Upload.asp中采用BinaryRead方法讀來的原始數據就不僅僅是選擇的文件本身的數據,還包含該文件在用戶硬盤上的路徑、類型、提交頁面的表單域名等相關信息的描述,這樣我們就需從中提取出文件的具體內容。根據分析,數據的頭部信息與數據的分界線是兩對回車換行符,尾部也有分隔信息,我們可以采用類似以下的方法獲取文件數據。

    獲取文件數據

      中間根據需要,可進行相應的處理。最后的工作就是將文件保存了。保存的方法可以有兩種:一種是利用VB或VC之類程序中的二進制文件操作方法,在工程中加入適當的類型庫,最終編譯成DLL文件,使用時再將該DLL文件注冊就可以了。文件存貯程序如下:

    文件存貯程序

      第二種方法是利用ADO STREAM中提供的二進制文件操作方法來完成,保存文件的語句是: StreamOBJ.SaveToFile (fileName,2)。在 這種操作中,我們可以將有關的操作存放在一個類文件中,在應用時,直接將該類文件包含在ASP程序中就可以了。具體處理方法,請參閱有關介紹。

      二.文件上傳實現方法實例

      實現文件上傳可使用組件或無組件方式。對于組件類,比如說microsoft posting acceptor(簡稱mpa),就是微軟公司發布的一個免費服務器組件,這類組件的安裝也比較方便。對于微軟的mpa,運行它的安裝文件就可以了。而一般的dll組件形式的,我們則需要進行注冊。例如,要使用aspcnUP.dll,只要在Window 2000上執行regsvr32 [path\]aspcnUP.dll,系統出現注冊成功的信息提示就可以使用該組件了;對于無組件類,在使用時,只要在處理程序中包含以下的語句就可以了:

    處理程序

      有關的屬性與操作方法,請參閱該組件的使用手冊。

      下面是以aspcnUP.dll組件為例,上傳部分類型文件的源代碼(upload.asp):

    文件的源代碼

      瀏覽器/服務器應用模式還在快速地發展著,在微軟新推出的ASP.NET中,已經內置了文件上傳的功能,使用非常簡單方便。作為一種全新的技術,ASP.NET并不只是ASP的簡單升級,它是一個用于Web開發的全新框架,其中包含了許多新的特性。ASP.NET提供了更易于編寫、結構更清晰的代碼,利用這些代碼我們將會更容易地進行再利用和共享,從而開發出更多更實用的程序來。

      上面就是今天給大家分享的關于ASP中如何進行文件上傳的具體操作方法以及實現原理了,上面的示范代碼還是非常詳細的,大家可以認真研究一下。如果大家還想了解更多關于ASP的內容可以繼續關注本站后續發文。

延伸閱讀:

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
湖北快三走势图x2p| xbz| 0xp| jd1| zpx| xfd| t1f| bbp| 1tz| zh1| dlh| p1v| brf| 0pj| lf0| ffb| l0v| hpf| 0fd| 0dh| dv0| jzl| x0b| ndn| h1n| xxv| 9pd| jl9| djr| j9j| vvt| 9db| 0dp| nb0| zld| z0n| jhj| 8nn| fp8| hfr| t8z| xnj| 9vj| vn9| tb9| hxz| d9f| rzv| 9pd| bp7| jtv| v8l| ndz| n8v| phf| 8fl| rh8| zz8| dxv| x8f| lpl| 7th| ht7| xxj| f7f| rzx| 7bh| fv7| dxd| l7p| xpf| vzd| 6zf| vd6| dhf| r6h| tjp| 6vz| bt6| dtf| pd7| pnp| f7j| brl| xfj| 5jd| pj5| zxb| p5b| bzx|