我尝试使用ASP.NET MVC将一些文件上传到服务器。
我在索引中写的JS代码:
@section Scripts{
<script src="~/Scripts/jquery.filedrop.js"></script>
<script type="text/javascript">
$(function () {
$('#dropArea').filedrop({
url: '@Url.Action("UploadFiles")',
allowedfiletypes: ['image/jpeg', 'image/png', 'image/gif'],
allowedfileextensions: ['.jpg', '.jpeg', '.png', '.gif'],
paramname: 'files',
maxfiles: 5,
maxfilesize: 5,
dragOver: function () {
$('#dropArea').addClass('active-drop');
},
dragLeave: function () {
$('#dropArea').removeClass('active-drop');
},
drop: function () {
$('#dropArea').removeClass('active-drop');
},
afterAll: function (e) {
$('#dropArea').html('file(s) uploaded successfully');
},
uploadFinished: function (i, file, response, time) {
$('#uploadList').append('<li class="list-group-item">' + file.name + '</li>');
}
})
})
</script>
}
我的控制器的方法是:
[HttpPost]
public ActionResult UploadFiles(IEnumerable<HttpPostedFileBase> files)
{
foreach (var file in files)
{
string filePath = Guid.NewGuid() + Path.GetExtension(file.FileName);
file.SaveAs(Path.Combine(Server.MapPath("~/UploadedFiles"), filePath));
}
return Json("file uploaded successfully");
}
当我尝试上传一些文件时,出现此错误:
请告诉我,从该代码开始,我应该在代码中添加些什么。
答案 0 :(得分:0)
使用HttpPostedFileBase[]
代替IEnumerable<HttpPostedFileBase>
。
[HttpPost]
public ActionResult UploadFiles(HttpPostedFileBase[] files)
{
foreach (var file in files)
{
string filePath = Guid.NewGuid() + Path.GetExtension(file.FileName);
file.SaveAs(Path.Combine(Server.MapPath("~/UploadedFiles"), filePath));
}
return Json("file uploaded successfully");
}