HTML文件上传器没有在控制器页面上提供文件
本文关键字:文件 控制器 HTML | 更新日期: 2023-09-27 18:12:09
我使用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文件上传器上传任何文件。
有什么问题吗?
请帮帮我。
在你的HTML中name
应该是files
以匹配控制器
<input type="file" name="files">
谢谢!
在你的html中,你应该像下面这样添加enctype属性:
<form action="@Url.Action("ApiUploadImage","PP")" enctype="multipart/form-data" method="POST" id="frmObservationScoring">