MVC3 / .NET的异步文件上传器?

时间:2011-10-16 12:12:47

标签: .net asp.net-mvc-3 asynchronous uploader

每个人我都是学生,不熟悉.NET,特别是MVC3开发。

目前在我的一个项目中,有一个表单包含很少的文本字段和两个文件输入。

考虑到上传的文件可能很大,我想使用异步文件上传器,它可以显示正在上传的文件的进度,以便用户在上传文件时不会感到被绞死和卡住在后面,我想让用户保持参与并了解文件上传进度。我搜索了一些可能的选项,例如uploadify,但在使用它们时没有取得多大成功。

  • 我想知道是否有任何有用的.net / MVC插件可用于异步上传这些文件?

  • 最好有一些选项,例如文件扩展名/尺寸检查。

谢谢!

3 个答案:

答案 0 :(得分:2)

从技术上讲,带有一些进度指示器的multiupload不是服务器端功能,所以你不能得到“MVC插件”来做到这一点。您必须实现一些客户端解决方案,通常基于Flash,Silverlight,HTML5等 - 其中有很多。在服务器端,您必须像往常一样接收该文件(或者如果以“分割”模式发送,则将其从“块”合并 - 请参阅此教程)。

所以更像“MVC插件”,你需要搜索“Jquery插件”或“multiupload”。

例如,请查看此处:http://superdit.com/2010/06/29/10-jquery-ajax-file-uploader-plugins/

答案 1 :(得分:1)

在我看来,

Uploadify真是一个不错的选择,如果你不介意闪光灯。我的公司现在正在我们的一个网站上使用它,它的效果非常好。实际上,很少有其他选项可以限制用户可以选择的文件类型。希望很快会有一些好的HTML5上传者可以处理这个问题,但据我所知目前还没有。我很想被证明是错的。此外,即使有合适的HTML5上传器,如果您的网站的用户使用的浏览器不支持HTML5,您也可能无法使用它们。

更新:您还可以使用CTRL +点击要上传的所有文件来限制文件大小,并一次上传多个文件。

更新:关于“HTTP错误”,我已经考虑了一段时间了。我遇到过这样的错误的唯一一次是用户未经过身份验证的情况。例如,他们直接进入页面而没有登录。这在您的网站上是不可能的,但是最初只是在页面上使用上传器进行测试时,我们并没有强制用户进行身份验证并且出现此错误。一旦我们在查看页面之前强制用户进行身份验证(登录),就会解决此错误。

答案 2 :(得分:0)

This jQuery uploader看起来非常好,也应该使用任何版本的asp.net mvc进行锻炼