2015-10-29 87 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

我已经更新了答案。你可以尝试使用