2015-10-29 88 views
1

我們有asp.net mvc應用程序,在這裏我們要上傳20MB以上的文件,我想在後臺運行文件上傳過程,使用jquery ajax,因爲用戶不需要等待很長時間,一旦過程完成,我們會發送電子郵件給用戶上傳的細節。 代碼:在asp.net mvc jquery AJAX調用mvc

$.ajax({ 
    url: '/ReviewSampleUpload/FilterSamplingLoans', 
    async: true, 

    success: function (data) { 
    } 
}); 

我能夠打的方法,但瀏覽器等待,直到方法完成執行,如何在後臺運行此方法,以便用戶可以進行其他操作。

+0

您必須在ASP.NET中使用線程執行異步操作。 – gon250

+0

我嘗試過,但不幸的是,當我部署在服務器上,它不工作,請參閱下面的代碼: Thread newThread = new Thread(()=> loanResult1 = rep.filterSamplingLoans(dtLoans,model.ReviewId,(int)TempData [ 「LoanCount」])); newThread.IsBackground = true; newThread.Start(); –

回答

0

你試過嗎?它是jQuery的文件上傳插件。用戶還可以做其它的ajax任務,同時他們正在等待:

https://github.com/blueimp/jQuery-File-Upload

如果你想允許用戶導航離開頁面,您可能需要使用一個技巧。這個想法是使用<iFrame>分別包含你的jQuery上傳頁面。這很難。

你可以嘗試的另一個想法是要求用戶安裝你自己的下載器應用程序,比如Microsoft File Transfer Manager正在做什麼。然後,客戶端計算機上的工具將爲您保持下載進度。

+0

我的要求是上傳一個超過20MB的文件,並在後臺運行此過程,以便用戶不必等待很長時間。 –

+0

我已經更新了答案。你可以嘗試使用