gpt4 book ai didi

c# - HttpPostedFile 返回空值?

转载 作者:行者123 更新时间:2023-12-04 10:45:54 27 4
gpt4 key购买 nike

我有一个表单将 POST 数据发送到 Action,并且一个模型有 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();
}

这是我的表单 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>

当我尝试上传图像文件时,这个结果:
enter image description here

最佳答案

您应该使用 HttpPostedFileBase而不是 HttpPostedFile
备注

The HttpPostedFileBase class is an abstract class that contains the same members as the HttpPostedFile class. The HttpPostedFileBase class lets you create derived classes that are like the HttpPostedFile class, but that you can customize and that work outside the ASP.NET pipeline



此外, HttpPostedFile是密封类,因此您无法立即创建和绑定(bind)
public sealed class HttpPostedFile

HttpPostedFileBase是抽象类。
public abstract class HttpPostedFileBase

关于c# - HttpPostedFile 返回空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59709422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com