PDA

View Full Version : ذخیره چند تصویر همزمان



gama_slv
جمعه 15 شهریور 1392, 10:50 صبح
میخوام دو تا تصویر رو باهم ذخیره کنم ولی نمیشه

مدل

[DisplayName("گروه کالا")]
[DisplayPluralName("گروهای کالا")]
public partial class ProductGroups
{
public ProductGroups()
{
this.Products = new HashSet<Products>();
}

[Key]
public int ProductGroupID { get; set; }

[Display(Name = "عنوان گروه کالا")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public string ProductGroupTitle { get; set; }

[Display(Name = "شرح گروه کالا")]
[DataType(DataType.MultilineText)]
public string ProductGroupDescription { get; set; }

[Display(Name = "تصویر گروه کالا")]
public string ProductGroupImageUrl { get; set; }

[Display(Name = "تصویر کوچک گروه کالا")]
public string ProductGroupThumbnailImageUrl { get; set; }

[Display(Name = "کالاها")]
public virtual ICollection<Products> Products { get; set; }
}
}



کنترل

بااین کد فقط یک تصویر ذخیره میشه و نمیشه Thumbnail رو ساخت البته Thumbnail دیگه برام مهم نیست
فقط میخوام دوتا تصویر مختلف رو باهم بشه ذخیره کرد تو دیتابیس.
من دو تا فیلد دارم برای تصویر

public ActionResult Create(ProductGroups productgroups)
{
if (ModelState.IsValid)
{
var uploadedFile = Request.Files[0];
var fileName = Path.GetFileName(uploadedFile.FileName);
var fileSavePath = Server.MapPath("/Uploads/" + fileName);
productgroups.ProductGroupImageUrl = fileName;
productgroups.ProductGroupThumbnailImageUrl = fileName;
uploadedFile.SaveAs(fileSavePath);
db.ProductGroups.Add(productgroups);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(productgroups);
}

hakim22
شنبه 16 شهریور 1392, 09:32 صبح
بجای عبارت

public ActionResult Create(ProductGroups productgroups)


قرار بدید :

public ActionResult Create(ProductGroups productgroups,IEnumerable<httpPostedFile> files)


و سپس Model binding خودش بقیه کارها رو انجام میده و لیست فایلهای ارسال شده از طریق متغیر files قابل دریافته. به شرط اینکه در سمت View صفت name مربوط به input فایلها برابر files باشه. و multiple هم در html5 ست شده باشه