با سلام ، یک پروژه مدیریت کتابخانه دارم که میخوام در قسمت حذف کتاب بعد از عملیات حذف، تصویر کتاب هم که در مسیر upload/book ذخیره شده همزمان پاک بشه. بریک پوینت گذاشتم تا مسیر فولدر book میره ولی نام تصویر کتاب رو پیدا نمیکنه تا تصویر رو از فولدر مورد نظر حذف کنه و فکر میکنم با viewmodel کار نمیکنه ...البته عملیات حذف با موفقیت از دیتابیس انجام میشه ولی تصویر در مسیر wwwroot پاک نمیشه . ممنون میشم اگه با این روش راه دیگه ای هست راهنمایی کنید.
[HttpPost, ValidateAntiForgeryToken]
public IActionResult DeleteBookPost(int BookId,BookViewModel model)
{
if (BookId == 0)
{
TempData[ErrorMessage] = "عملیات با خطا مواجه شد";
return RedirectToAction(nameof(Index));
}
else
{
try
{
var path_normal = Path.Combine(_webHostEnvironment.WebRootPath, "upload\\book\\") + model.BookImage;
if (System.IO.File.Exists(path_normal))
{
System.IO.File.Delete(path_normal);
}
_context.bookUW.DeleteById(BookId);
_context.save();
TempData[SuccessMessage] = "حذف اطلاعات با موفقیت انجام شد";
return RedirectToAction(nameof(Index));
}
catch (Exception)
{
TempData[ErrorMessage] = "عملیات با خطا مواجه شد";
return RedirectToAction(nameof(Index));
}
}
شما همونطوری که یک تصویر رو با دستور CopyTo می تونید روی روت سایت خودتون ذخیره کنید توسط دستور Delete هم میتونید تصویر رو حذف کنید.
کافیه نام تصویر رو از دیتابیس بگیرید و از دستور Delete برای حذف اون تصویر استفاده کنید.
public void deleteimage(int bookId)
{
var getimagename = _context.bookTbl.where(b=>b.bookId == bookId).select(b=>b.ImageName).SingleOrDefault();
if (getimagename.ImageName != "" || getimagename.ImageName != null)
{
var path = Path.Combine(_webHostEnvironment.WebRootPath, "upload\\imagepath\\") + deleteImg.BookImage;
if (System.IO.File.Exists(path))
{
System.IO.File.Delete(path);
}
}
در کد بالا تصاویر در wwwroot-->upload-->imagepath ذخیره شده اند.
متد بالا به صورت کلی تعریف شده و با توجه به نیاز پروژه میتونید تغییراتی در اون بدید.
تاریخ :
1403/09/06
- ساعت :
09:51:00 PM
- بازدید :
97
- پاسخ :
1
|
تاریخ :
1400/07/17
- ساعت :
10:39:00 PM
- بازدید :
2340
- پاسخ :
0
|
تاریخ :
1403/09/05
- ساعت :
06:32:00 PM
- بازدید :
74
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
120
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
153
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1072
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
477
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1381
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4829
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
243
- پاسخ :
1
|
تاریخ :
1403/09/06
- ساعت :
09:51:00 PM
- بازدید :
97
- پاسخ :
1
|
تاریخ :
1400/07/17
- ساعت :
10:39:00 PM
- بازدید :
2340
- پاسخ :
0
|
تاریخ :
1403/09/05
- ساعت :
06:32:00 PM
- بازدید :
74
- پاسخ :
1
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2042
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
120
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
153
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1072
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
477
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
951
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1381
- پاسخ :
1
|