【问题标题】:asp.net mvc ajax upload solution? [closed]asp.net mvc ajax上传解决方案? [关闭]
【发布时间】:2011-10-27 07:26:57
【问题描述】:

我正在寻找好的 ajax 上传解决方案。

我尝试使用

1) SWFUpload(可以正常工作,但仅适用于一个文件)

2) Jquery Ajax 插件(不工作且不支持 IE 中的进度条)

我想问一下您使用什么解决方案来上传多个带有进度条的文件?

【问题讨论】:

标签: asp.net asp.net-mvc ajax-upload


【解决方案1】:

我个人喜欢Valums Ajax Upload


更新:

根据 cmets 部分的要求,这里有一个如何与 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,进度条在 IE 中对我有用。就您关于 ASP.NET MVC 的问题而言,答案当然是肯定的,它适用于 ASP.NET MVC。 Ajax Upload 是一个客户端组件,可与任何服务器端技术一起使用。它不依赖于特定的服务器语言或实现。
  • pastebin.com/aj2VNExA 我使用这个代码。我在 context.Response.Write("OK"); 上设置断点;而此时 Request.Files.Count 等于 0。我不知道如何访问上传的文件
  • @takayoshi,我已经更新了我的答案,以展示如何将此组件与 ASP.NET MVC 一起使用的示例。
  • @Darin:一如既往的好答案……这很容易实现。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-27
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 2011-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多