我需要在我的项目ASP .NET MVC3中实现jQuery文件上传插件:
http://blueimp.github.com/jQuery-File-Upload/
我一直在谷歌搜索,我还没有找到整个项目,只有代码片段。我不知道如何实现它。
有人能帮助我吗?有人能告诉我在哪里可以下载示例项目或代码吗?
答案 0 :(得分:46)
您是否阅读了您尝试使用的插件的documentation?你试过basic plugin functionality了吗?您是否尝试使用默认模板在Visual Studio中创建新的ASP.NET MVC 3应用程序?
您是否尝试过编写一个简单的控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(IEnumerable<HttpPostedFileBase> files)
{
foreach (var file in files)
{
var filename = Path.Combine(Server.MapPath("~/App_Data"), file.FileName);
file.SaveAs(filename);
}
return Json(files.Select(x => new { name = x.FileName }));
}
}
和相应的观点:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="@Url.Content("~/Scripts/blueimp/js/vendor/jquery.ui.widget.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/blueimp/js/jquery.iframe-transport.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/blueimp/js/jquery.fileupload.js")" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
url: '@Url.Action("index")',
done: function (e, data) {
$.each(data.result, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
});
</script>
<input id="fileupload" type="file" name="files" multiple="multiple"/>
如果你还没有,我邀请你这样做。
答案 1 :(得分:28)
我创建了一个sample ASP.NET MVC 3 project on GitHub,展示了如何使用完整的插件功能,包括删除和下载。