我使用了html文件上传器:
<form action="@Url.Action("ApiUploadImage","PP")" method="POST" id="frmObservationScoring">
<input type="file" name="fUploadedFiles"><br>
<button class="buttoncss">Upload</button>
</form>
PPController中的ApiUploadImage方法为:
public void ApiUploadImage([DataSourceRequest] DataSourceRequest request, IEnumerable<HttpPostedFileBase> files)
{
var savedFilePaths = new List<string>();
var applicationPath = System.Web.HttpContext.Current.Request.Url.Scheme + "://" + System.Web.HttpContext.Current.Request.Url.Authority + System.Web.HttpContext.Current.Request.ApplicationPath + "/Content/Images/Others/";
if (files != null)
{
foreach (var file in files)
{
var fileName = Path.GetFileName(file.FileName);
if (fileName != null)
{
fileName = DateTime.Now.ToString("yyyyMMddmm-") + fileName;
var imagePath = Path.Combine(Server.MapPath("~/Content/Images/Others/"), fileName);
file.SaveAs(imagePath);
savedFilePaths.Add(applicationPath + fileName);
}
}
}
//return Json(new[] { savedFilePaths }.ToDataSourceResult(request));
}
方法被调用但
IEnumerable<HttpPostedFileBase> files
参数给出空值,尽管我通过html文件上传器上传任何文件。
可能是什么问题?
请帮帮我。
答案 0 :(得分:1)
在你的html中,你应该像以下一样添加enctype属性:
<form action="@Url.Action("ApiUploadImage","PP")" enctype="multipart/form-data" method="POST" id="frmObservationScoring">
答案 1 :(得分:1)
在您的HTML name
中files
应与控制器匹配。
<input type="file" name="files">
谢谢!