.net MVC 3.0文件上传带进度条

时间:2012-07-18 16:54:06

标签: asp.net-mvc-3 c#-4.0 jquery file-upload progress-bar

我看到有类似的问题。但我无法找到答案。这就是我再次发布此消息的原因。遗憾!!

我想使用.net mvc 3.0

构建一个带百分比条的文件上传器

有一些jquery插件。但他们需要html 5支持。我试图在没有HTML 5支持的情况下构建它。

目前我所做的是上传具有Ajax支持的文件。当用户上传文件时,我发出ajax请求并显示loading.gif直到请求完成。因此,对于简单的图像上传来说,它是一个相当直接的前向代码。

现在我正在尝试上传视频并通过其REST API将其发送到Vimeo

我可以做同样的事情。但由于文件很大,我想以一种很好的方式做到这一点。

我的代码是这样的

查看

@using (Ajax.BeginForm("Upload", "Home", new AjaxOptions
                        {
                            UpdateTargetId = "form1",
                            InsertionMode = InsertionMode.Replace,
                            OnBegin = "ajaxValidate",
                            OnSuccess = "getGbPostSuccess",
                            OnFailure = "showFaliure"
                        }))
      //.......
      //rest of the form
}

控制器

public ActionResult Upload()
{
     //Read file 
     //Post file to Vimeo (this is the part that take time to upload)
     //get uploaded video content
     return PartialView("xxxxx", Model); // return uploaded Video
}

在此过程发生时,我使用一小段javascript显示loading.gif。这段代码工作得非常好。正如我之前提到的,我希望通过设置百分比进度条使其更加用户友好 希望我的问题很明确。

请帮帮我......

提前致谢

1 个答案:

答案 0 :(得分:3)

  

但他们需要html 5支持。

没必要。例如,blueimp file upload插件测试浏览器功能,如果浏览器不支持HTML5 XHR2,则可以使用jQuery iframe transport。以下是有关浏览器支持的more details

Uploadify是另一个使用Flash的示例,如果浏览器不支持XHR2。

Plupload是另一个非常强大的插件,如果浏览器不支持XHR2,它支持众多等价物。

因此,只需选择一个插件,阅读文档,将其集成到ASP.NET MVC 3应用程序中并享受乐趣。