2012-02-23 74 views
0

我需要在asp.net中實現Gmail風格文件上傳c# 用戶將點擊按鈕和文件對話框將打開。 用戶選擇一個文件,然後用代碼處理該文件。 我不想讓用戶看到文件上傳控制,他只需點擊一個按鈕。 我已經使用了幾個解決方案
例如 gmail風格文件上傳在c#

function OpenFileUpload() { 

     var myFrame = document.getElementById('frameUpload'); 
     $(myFrame).focus(); 
     $(myFrame).contents().find("#FileUpload1").click(); 

     var value = $(myFrame).contents().find("#FileUpload1").val(); 
     if (value != '') { 
      $(myFrame).contents().find("#btnSubmit").click(); 

     } 


    } 

需要更好的解決方案。

回答

3

我不知道,如果你正在談論的服務器或客戶端....

文件上傳大文件是它自己的= A有趣的話題)......尤其是大型文件...

在這裏找到很好的文章: http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspx

http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx http://msdn.microsoft.com/en-us/library/aa479405.aspx

但是,爲什麼不使用一個方便的工具...

這裏是不錯的成分:... http://www.plupload.com/

HTH

+0

我想避免使用第三方工具..但我會檢查您的網址 – 2012-02-23 11:40:36

1

你可以嘗試像swfuploadhttp://swfupload.org/

就像在Gmail的情況下,它支持通過點擊鏈接打開文件對話框/按鈕,它支持多個文件選擇,也可以顯示上傳文件的進度條。

大部分SWFUpload文檔在服務器端使用PHP。這是ASP.NET的一個示例(SWFUpload ASP.Net example site not working?)。

請注意,要支持從單個窗口上傳文件的多個選擇,這需要Flash,它不能用標準輸入文件完成。