ASP.NET同時上傳多個檔案,和不使用HTMLFileInput上傳的方法(resource about file upload)

來源:互聯網
上載者:User

關於同時上傳多個檔案,目前有很多解決方案可行,如下

 

MultiPowUpload
http://www.element-it.com/MultiPowUpload.aspx
 
jQuery Multiple File Upload Plugin
http://www.fyneworks.com/jquery/multiple-file-upload/
 
Allowing Users to Upload Multiple Files at Once
http://www.dotnetjunkies.com/Tutorial/81E0C3A9-1B40-425C-B150-B578FE724A39.dcik
 
Uploading Files Using the File Field Control
http://msdn.microsoft.com/en-us/library/aa478971.aspx
 
Upload multiple files Hotmail style
http://www.codeproject.com/KB/aspnet/multiuploads.aspx

 

但幾乎所有的檔案上傳最終都是通過HTMLFileInput控制項而實現的,因為HTMLFileInput是RFC 1867標準所唯一指定的控制項

(RFC 1867 Form-based File Upload in HTML http://www.ietf.org/rfc/rfc1867.txt)

 

有些奇怪的客戶不知是何原因,一定要使用非HTMLFileInput控制項上傳,這種情況下,下面的方法可以一試:

 

  1. 首先使用 FileSystemObject 或 XMLHttpRequest object 把要上傳的檔案以二進位的方式讀進一個JavaScript變數(具體方法請參考http://www.javascripter.net/faq/reading2.htm)
  2. 把這個JavaScript變數的值賦給一個<input type="Hidden" runat="server"/>的HiddenField裡面
  3. 既然這個HiddenField是runat=server的,我們就不難把它弄到服務端去,並使用System.IO把它存成檔案格式。

這樣,就完成了上傳。

 

但是這個方法依然有很多的問題,尤其是FSO的許可權問題,使用者不會隨隨便便就讓你讀他的檔案系統,無奈,也只能算是種不是方法的方法吧。

 

當前,使用ActiveX控制項進行HTTP方式的上傳,還是最實在的,可惜不會,學會之後再發吧。

 

 

Sincerely,
Lance Zhang
Microsoft Online Community Support

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.