Asp.net MVC AJAX загрузить решение? - PullRequest
7 голосов
/ 27 октября 2011

Я ищу хорошее решение для загрузки ajax.

Я пытался использовать

1) SWFUpload (работает нормально, но только для одного файла)

2) Плагин Jquery Ajax (он не работает и не поддерживает прогрессбар в IE)

Я хотел бы спросить вас, какие решения вы используете для загрузки нескольких файлов с индикатором выполнения?

Ответы [ 4 ]

14 голосов
/ 27 октября 2011

Лично мне нравится 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>
3 голосов
/ 27 октября 2011

Попробуйте Загрузить или PLupload , эти два можно настроить для разных языков и времени выполнения

1 голос
/ 27 октября 2011

Еще одно «лично мне нравится»: Telerik Upload . Мы используем его в нашем текущем продукте. Он разработан специально для ASP.NET MVC.

0 голосов
/ 28 июня 2012

Этот ответ отличный, но вы должны рассмотреть этот пост на наличие проблем с IE, И проверьте ответ @Shane Km.

здесь

...