我有一个表单向Action发送POST数据,模型有HttpPostedFile字段,但是当我将表单数据发送到Action时,我只得到空值HttpPostedFile字段。
这是我的模型:
public class MemberModel
{
[DisplayName("Member Name")]
public string Name { get; set; }
[DisplayName("Telephone / Mobile Number")]
public string PhoneNumber { get; set; }
[DisplayName("Upload File")]
public string ImagePath { get; set; }
public HttpPostedFile ImageFile { get; set; }
}这是我的行动:
public ActionResult ContactForm(MemberModel membervalues)
{
//Use Namespace called : System.IO
string FileName = Path.GetFileNameWithoutExtension(membervalues.ImageFile.FileName);
//To Get File Extension
string FileExtension = Path.GetExtension(membervalues.ImageFile.FileName);
//Add Current Date To Attached File Name
FileName = DateTime.Now.ToString("yyyyMMdd") + "-" + FileName.Trim() + FileExtension;
//Get Upload path from Web.Config file AppSettings.
string UploadPath = ConfigurationManager.AppSettings["UserImagePath"].ToString();
//Its Create complete path to store in server.
membervalues.ImagePath = UploadPath + FileName;
//To copy and save file into server.
membervalues.ImageFile.SaveAs(membervalues.ImagePath);
//To save Club Member Contact Form Detail to database table.
var db = new ClubMemberDataClassesDataContext();
tblMember _member = new tblMember();
_member.ImagePath = membervalues.ImagePath;
_member.MemberName = membervalues.Name;
_member.PhoneNumber = membervalues.PhoneNumber;
db.tblMembers.InsertOnSubmit(_member);
db.SubmitChanges();
return View();
}这是我的表单视图:
<div class="form-group">
@Html.LabelFor(model => model.ImagePath, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="file" name="ImageFile" required />
</div>
</div>当我尝试上传图像文件时,和这个结果:

发布于 2020-01-13 03:09:13
您应该使用HttpPostedFileBase而不是HttpPostedFile
备注
HttpPostedFileBase类是一个抽象类,它包含与HttpPostedFile类相同的成员。HttpPostedFileBase类允许您创建类似于HttpPostedFile类的派生类,但是可以自定义并在ASP.NET管道之外工作的。
此外,HttpPostedFile是密封类,因此不能立即创建和绑定
public sealed class HttpPostedFile而HttpPostedFileBase是抽象类。
public abstract class HttpPostedFileBasehttps://stackoverflow.com/questions/59709422
复制相似问题