我有三个文件上传控件,全部都接受单个文件,但是当我进入视图时,所有文件都保存为同一图像在我的图像文件夹中-
我的模型在下面的模型中,我使用了HttpPostedFileBase类型的三个变量和三个标签变量:
[NotMapped]
[DisplayName("Upload Image")]
public string ImagePath { get; set; }
[NotMapped]
public HttpPostedFileBase ImageFile { get; set; }
[NotMapped]
[DisplayName("Upload Aadhaar Card")]
public string AadhaarPathL { get; set; }
[NotMapped]
public HttpPostedFileBase AadhaarFile{get;set;}
[NotMapped]
[DisplayName("Upload PAN Card")]
public string PanPathL { get; set; }
[NotMapped]
public HttpPostedFileBase PanFile { get; set; }
在View中,我声明了要上传图像的文件类型为文本:
@using (Html.BeginForm("CreateVendor", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<div style="margin-left:70px;">
@Html.AntiForgeryToken()
<div class="row">
<div class="col-md-6">
<div class="form-group">
@Html.LabelFor(model => model.ImagePath)
@Html.TextBoxFor(model => model.ImageFile, new { type = "file", name = "ImageFile", id = "ImageFile",@class= "form-control" })
@Html.ValidationMessageFor(model => model.ImagePath, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-md-6">
<div class="form-group">
@Html.LabelFor(model => model.AadhaarPathL)
@Html.TextBoxFor(m => m.AadhaarFile,new { type = "file", name = "AadhaarFile", id = "AadhaarFile", @class = "form-control" })
@Html.ValidationMessageFor(model => model.AadhaarPathL, "", new { @class = "text-danger" })
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
@Html.LabelFor(model => model.PanPathL)
@Html.TextBoxFor(m => m.PanFile, new { type = "file", name = "PanFile", id = "PanFile", @class = "form-control" })
@Html.ValidationMessageFor(model => model.PanPathL, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-md-6">
<div class="form-group">
@* Empty *@
</div>
</div>
</div>
</div>
}
最后,在查看代码中,uri和图像都一一对应,但是每次我为每个图像保存相同的图像时。我被困在这里
[HttpPost]
public ActionResult CreateVendor(VendorList vendorList)
{
#region Photo Image
string fileName = Path.GetFileNameWithoutExtension(vendorList.ImageFile.FileName);
string extension = Path.GetExtension(vendorList.ImageFile.FileName);
fileName = fileName + "Photo" + DateTime.Now.ToString("yymmssfff") + extension;
var uri = string.Format("{0}://{1}{2}{3}",
System.Web.HttpContext.Current.Request.Url.Scheme,
System.Web.HttpContext.Current.Request.Url.Host,
System.Web.HttpContext.Current.Request.Url.Port == 80 ? string.Empty : ":" + System.Web.HttpContext.Current.Request.Url.Port,
"/Image/" + fileName);
vendorList.ImagePath = "~/Image/" + fileName;
fileName = Path.Combine(Server.MapPath("~/Image/"), fileName);
vendorList.ImageFile.SaveAs(fileName);
vendorList.PhotoPath = fileName;
vendorList.PhotoUrl = uri;
#endregion
#region Aadhaar Image
string fileAadhaarName = Path.GetFileNameWithoutExtension(vendorList.AadhaarFile.FileName);
string extensionAadhaar = Path.GetExtension(vendorList.AadhaarFile.FileName);
fileAadhaarName = fileAadhaarName + vendorList.Email + "Aadhaar" + DateTime.Now.ToString("yymmssfff") + extensionAadhaar;
var uriAadhaar = string.Format("{0}://{1}{2}{3}",
System.Web.HttpContext.Current.Request.Url.Scheme,
System.Web.HttpContext.Current.Request.Url.Host,
System.Web.HttpContext.Current.Request.Url.Port == 80 ? string.Empty : ":" + System.Web.HttpContext.Current.Request.Url.Port,
"/Image/" + fileAadhaarName);
vendorList.AadhaarPathL = "~/Image/" + fileAadhaarName;
fileAadhaarName = Path.Combine(Server.MapPath("~/Image/"), fileAadhaarName);
vendorList.ImageFile.SaveAs(fileAadhaarName);
vendorList.AadhaarPath = fileAadhaarName;
vendorList.AadhaarUrl = uriAadhaar;
#endregion
#region Pan Image
string filePanName = Path.GetFileNameWithoutExtension(vendorList.PanFile.FileName);
string extensionPan = Path.GetExtension(vendorList.PanFile.FileName);
filePanName = filePanName + vendorList.Email + "Pan" + DateTime.Now.ToString("yymmssfff") + extensionPan;
var uriPan = string.Format("{0}://{1}{2}{3}",
System.Web.HttpContext.Current.Request.Url.Scheme,
System.Web.HttpContext.Current.Request.Url.Host,
System.Web.HttpContext.Current.Request.Url.Port == 80 ? string.Empty : ":" + System.Web.HttpContext.Current.Request.Url.Port,
"/Image/" + filePanName);
vendorList.PanPathL = "~/Image/" + filePanName;
filePanName = Path.Combine(Server.MapPath("~/Image/"), filePanName);
vendorList.ImageFile.SaveAs(filePanName);
vendorList.PanPath = filePanName;
vendorList.PanUrl = uriPan;
}
有人可以建议这里发生了什么吗?