دانلود فایل و مدارک بارگزاری شده در Asp.net Core
سلام من میخوام وقتی نمایش جزییات یک ایتم رو زدم و اطلاعات نمایش داده شدن رو قسمت تصویر آپلود شده که نامش و میسرش رو دارم کلیک کردم تصویر برام دانلود بشه
public IActionResult ProjectDetails(int id)
{
var pro = _context.Projects.Find(id);
var mappro = _mapper.Map<Project>(pro);
return View(mappro);
}

پاسخ هوش مصنوعی
برای دانلود یک فایل در ASP.NET Core، می توانید از متدهایی مانند File() استفاده کنید. برای این کار ابتدا باید اطمینان حاصل کنید که مسیر فایل و نام آن را دارید. سپس می توانید یک اکشن جدید برای دانلود فایل ایجاد کنید.
در زیر کدی برای دانلود تصویر با استفاده از نام و مسیر آن ارایه شده است:
public IActionResult DownloadFile(string fileName)
{
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "uploads", fileName);
if (!System.IO.File.Exists(filePath))
{
return NotFound();
}
var fileBytes = System.IO.File.ReadAllBytes(filePath);
return File(fileBytes, "application/octet-stream", fileName);
}
شما می توانید این متد را با نام فایل و مسیر صحیح آن فراخوانی کنید. به عنوان مثال، دکمه یا لینک دانلود در نمای جزییات پروژه به شکل زیر می تواند باشد:
<a href="@Url.Action("DownloadFile", "Project", new { fileName = mappro.ImagePath })">دانلود تصویر</a>
فکر میکنم منظور شما "آپلود فایل" باشه نه "دانلود". چون شما میخواهید یک فایل رو از سیستم کاربر بگیرید و در سرور سایتتون آپلود کنید.
این سوال قبلا بارها پرسیده شده و پاسخ هم داده شده.
لینک زیر رو مطالعه بفرمایید.
جناب بحرانی فرد منظور من دانلود فایل آپلود شده رو سرور هست من عملیات آپلود رو انجام دادم فقط میخوام تصویر یا فایلی که آپلوده شده رو دانلود کنم.


ببینید برای دانلود فایل فقط کافیه آدرس فایلی که قصد دارید دانلود کنید رو توی تگ a بنویسید.

به عنوان مثال فرض کنید در تصویر بالا میخوایم وقتی در ستون پیوست روی دکمه دانلود کلیک شد فایل پیوست شده دانلود بشه. خب این فایل از قبل در سیستم آپلود شده و در روت سایت ذخیره شده. نام فایل هم در دیتابیس ذخیره شده. حالا باید دستور زیر رو بنویسیم :
<td>
<a href="~/upload/newsattach/@item.NewsAttachment" download="@item.NewsAttachment">دانلود</a>
</td>
همونطوری که ملاحظه می کنید در قسمت href مشخص کردیم که به wwwroot مراجعه کن و در اونجا پوشه upload و سپس پوشه newsattach رو باز کن و فایلی که نامش در متغیر item.NewsAttachment هست رو دانلود کن.
نکته : همچنین برای اینکه مشخص کنیم که این یک مسیر نیست و یک فایل دانلودی هست از ویژگی download هم استفاده کردیم.
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- چرا استوری های واتس اپ برای دوستان نمایش داده نمیشن ؟
- چند تا استوری رایگان می تونیم تلگرام بذاریم ؟
- خطای Severity Code Description Project هنگام استارت پروژه
- کار نکردن navBar و sideBar در پروژه Asp.net core
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2