我正在寻找好的ajax上传解决方案。
我尝试使用
1)SWFUpload(工作正常,但只适用于一个文件)
2)Jquery Ajax插件(它不起作用,它不支持IE中的进度条)
我想问你使用进度条上传多个文件时使用了哪些解决方案?
答案 0 :(得分: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>
答案 1 :(得分:3)
答案 2 :(得分:1)
另一个“我个人喜欢”:Telerik Upload。我们在目前的产品中使用它。它专为ASP.NET MVC设计。
答案 3 :(得分:0)
这个答案很棒但你应该考虑查看这篇文章的IE问题, 并查看@Shane Km的答案。