ASP.NET MVC的Ajax上传解决方案?

7
我正在寻找一个好的ajax上传解决方案。
我尝试使用:
1) SWFUpload(它可以正常工作,但只适用于一个文件)
2) Jquery Ajax插件(它不起作用,并且在IE中不支持进度条)
我想问一下,你使用什么解决方案来上传多个文件并显示进度条?

1
你尝试过使用Uploadify吗?http://www.uploadify.com/ - Prasanth
1个回答

14

个人而言,我喜欢使用Valums Ajax Upload


更新:

根据评论区的要求,这里提供了如何在ASP.NET MVC中使用的示例。

控制器:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Upload(string qqFile)
    {
        // The upload action will be called by the client control
        // for each file that was selected by the user for upload

        var path = Server.MapPath("~/App_Data");
        var file = Path.Combine(path, qqFile);
        using (var output = System.IO.File.Create(file))
        {
            Request.InputStream.CopyTo(output);
        }
        return Json(new { success = true });
    }
}

视图 (~/Views/Home/Index.cshtml):

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Ajax Upload demo with ASP.NET MVC</title>
    <link href="@Url.Content("~/Content/fileuploader.css")" rel="stylesheet" type="text/css" />
</head>
<body>
    <div id="file-uploader">       
        <noscript>          
            <p>Please enable JavaScript to use file uploader.</p>
            <!-- or put a simple form for upload here -->
        </noscript>         
    </div>

    <script src="@Url.Content("~/Scripts/fileuploader.js")" type="text/javascript"></script>
    <script type="text/javascript">
        var uploader = new qq.FileUploader({
            element: document.getElementById('file-uploader'),
            action: '@Url.Action("Upload", "Home")'
        });    
    </script>
</body>
</html>

在IE中没有进度条。在ASP.NET MVC中可以工作吗?你能发布一份可用的代码吗? - takayoshi
@takayoshi,进度条在IE中对我有效。至于你关于ASP.NET MVC的问题,答案当然是肯定的,它可以与ASP.NET MVC一起使用。Ajax Upload是一个客户端组件,可以与任何服务器端技术一起使用。它不绑定特定的服务器语言或实现。 - Darin Dimitrov
让我们在聊天中继续这个讨论:http://chat.stackoverflow.com/rooms/4549/discussion-between-takayoshi-and-darin-dimitrov - takayoshi
1
@Darin:一如既往的好答案……这个实现起来相当容易。谢谢你。 - Leniel Maccaferri
您的链接不再可用。 - Minh Nguyen
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接