Jquery 异步上传文件到服务器并允许用户移动另一个页面

Jquery 异步上传文件到服务器并允许用户移动另一个页面,jquery,asp.net,file-upload,Jquery,Asp.net,File Upload,标题本身可能不清楚,但让我告诉你一个场景。我有一个4-5页的小型asp.net mvc应用程序。一页是一个带有文件上传控制的小表单。在开发过程中,我们实现了正常的文件上传控制,并发布在页面提交上。由于此应用程序也可由具有非常低带宽连接的客户端访问,因此5 mb文件需要35-40秒。用户还可以通过手机/平板电脑进行连接,而手机/平板电脑一直存在带宽问题 我想让文件上传到服务器的另一个请求,如果用户提交了表单,然后允许他移动另一个页面,文件继续在后台上传。如果我们允许用户移动另一个页面,就不可能跟踪

标题本身可能不清楚,但让我告诉你一个场景。我有一个4-5页的小型asp.net mvc应用程序。一页是一个带有文件上传控制的小表单。在开发过程中,我们实现了正常的文件上传控制,并发布在页面提交上。由于此应用程序也可由具有非常低带宽连接的客户端访问,因此5 mb文件需要35-40秒。用户还可以通过手机/平板电脑进行连接,而手机/平板电脑一直存在带宽问题


我想让文件上传到服务器的另一个请求,如果用户提交了表单,然后允许他移动另一个页面,文件继续在后台上传。如果我们允许用户移动另一个页面,就不可能跟踪先前上传文件的请求。我想到了其他方法,比如自己打开一个窗口,隐藏它,然后从那里上传文件,然后在上传文件时关闭该窗口等。请向我推荐一些其他方法,任何可以满足目的的最佳实践。这里还有一点,大多数用户都在使用旧浏览器IE9,根据我的经验,很多人需要主要使用ASP.NET Web Api和Ajax。在您的单个页面中,您可以显示fileupload div,当用户选择一个文件并单击upload按钮时,您可以显示一个较小的div,其中有一个简单的文本,表示文件正在加载。。。请稍等。例如,您可以在右侧显示此信息div。同时,您可以显示下一个div,其中包含下一个要显示的内容,而不是将用户导航到其他页面

这涉及到使用ajax和Asp.NETWebAPI。如果您对Ajax和Jquery有一定的经验,那么完成这项工作应该不会花费太多时间

我建议使用以下资源使用Ajax和Web Api上传文件:


希望这有帮助

用户也可以通过平板电脑进行连接,这与您所说的他们正在使用Internet Explorer 9的说法并不完全相符。移动/平板电脑用户数量有所减少。80%是桌面用户,大部分使用IE9。谢谢。你可以将你的网站作为一个应用程序来编写。从浏览器的角度来看,您仍然在一个页面上。同意!!这可能是一种方式,但它需要重新编写应用程序,需要大量的批准、资源等,而且以后可能会遇到一些浏览器问题,如IE9。寻找更多的选择/方法非常感谢你的回答。它有点像@mason建议的。我已经想到了许多其他类似的方法。但这里的重点是-用户应该可以自由进入应用程序的任何页面,这里有5个页面,可以做任何想做的事情。因此,当用户通过ajax进行导航时,我必须更改每个页面,并将其加载到相同的表单中,以便维护页面的状态。由于其他页面也是沉重的可操作页面,在不影响上传和跟踪的情况下,在同一页面上处理所有这些将更加困难。通过webapi上传文件,jquery不是问题