我嘗試上傳的圖像使用MVC4,所以我創建包含輸入文件由用戶選擇文件視圖:上傳圖片引起保存一個無效的圖像
<div class="editor-label">
@Html.LabelFor(model => model.ImageUrl)
</div>
<input id="ImageUrl" title="Upload a student image" type="file" name="ImageUrl" />
的的ImageUrl持有文件的名稱,提交後我將此表到我的行動:
[HttpPost]
[Authorize(Roles = "Admin")]
public ActionResult Create(Student student)
{
student.RegisterDate = DateTime.Now.Date;
if (objcheck.CheckUserExistAlready(student.Email))
{
string strLocation = HttpContext.Server.MapPath("~/App_Data");
Request.SaveAs(strLocation + @"\" + student.ImageUrl,true);
obj.AddNewStudent(student);
obj.Save();
}
return RedirectToAction("Index", "Student");
}
此操作工作沒有任何錯誤,但它在保存無效圖像的App_Data !!!爲什麼?
我的模型:
public partial class Student
{
public Student()
{
this.Scores = new HashSet<Score>();
}
public int Id { get; set; }
[Required(ErrorMessage = "نام را وارد کنید")]
[DisplayName("نام")]
public string Name { get; set; }
[Required(ErrorMessage = "نام خانوادگی را وارد کنید")]
[DisplayName("نام خانوادگی")]
public string LastName { get; set; }
[Required(ErrorMessage = "کد ملی را وارد کنید")]
[StringLength(10,ErrorMessage = "کد ملی باید ده رقمی باشد",MinimumLength = 10)]
[DisplayName("کد ملی")]
public string IntNo { get; set; }
[Required(ErrorMessage = "نام پدر را وارد کنید")]
[DisplayName("نام پدر")]
public string FatherName { get; set; }
[Required(ErrorMessage = "محل تولد را وارد کنید")]
[DisplayName("محل تولد ")]
public string BirthLocation { get; set; }
[Required(ErrorMessage = "تاریخ تولد را وارد کنید")]
[DisplayName("تاریخ تولد")]
public string Birthday { get; set; }
[Required(ErrorMessage = "آدرس عکس را وارد کنید")]
[DisplayName("تصویر")]
public string ImageUrl { get; set; }
[Required(ErrorMessage = "رشته را وارد کنید")]
[DisplayName("رشته")]
public string Major { get; set; }
[Required(ErrorMessage = "مقطع را وارد کنید")]
[DisplayName("مقطع")]
public string Degree { get; set; }
[Required(ErrorMessage = "شماره شناسنامه را وارد کنید")]
[DisplayName("شماره شناسنامه")]
public string IdentNo { get; set; }
[Required(ErrorMessage = "آدرس را وارد کنید")]
[DisplayName("آدرس")]
public string Address { get; set; }
[Required(ErrorMessage = "شماره همراه را وارد کنید")]
[DisplayName("شماره همراه")]
public string Mobile { get; set; }
[Required(ErrorMessage = "ایمیل را وارد کنید")]
[DataType(DataType.EmailAddress,ErrorMessage = "ایمیل نامعتبر است")]
[DisplayName("ایمیل")]
public string Email { get; set; }
[Required(ErrorMessage = "کلمه عبور را وارد کنید")]
[DataType(DataType.Password)]
[DisplayName("کلمه عبور")]
public string Password { get; set; }
[DisplayName("تاریخ ثبت نام ")]
public System.DateTime RegisterDate { get; set; }
[Required(ErrorMessage = "شماره دانشجویی را وارد کنید")]
[DisplayName("شماره دانشجویی/دانشجویی")]
public string StudentId { get; set; }
[Required(ErrorMessage = "وضعیت را وارد کنید")]
[DisplayName("وضعیت")]
public string State { get; set; }
public virtual ICollection<Score> Scores { get; set; }
public virtual ICollection<Comment> Comments { get; set; }
}
我的形象,我的代碼保存:
最好的問候。
在此先感謝
'student.ImageUrl'應該是'HttpPostedFileBase'類型,你不能讓這種類型的字符串。所以,你錯了,做錯了:) –
分享你的模型和'student.ImageUrl'輸出 –
@AliRızaAdıyahşi我分享了它 –