درود
در قسمت های زیادی از پروژه بنده باید تصاویر رو دریافت کرده و ذخیره کنم , من همه جا تصاویر رو با نام های اصلی خود فایل ذخیره کردم و مشکلی که در این مورد وجود داره اینه که اگه یک فایل هم نام با فایل های قبل بخواد روی پروژه آپلود بشه فایل قبلی حذف میشه .
میشه مثلا یه عدد Random تولید کرد و اون رو بعوان اسم فایل انتخاب کرد (البته یک درصد خیلی کم بازهم امکان تشابه هست) و یا میشه نام عکس رو برابر Id سطر جاری گذاشت که قطعا منحصر به فرده .
بهترین روش برای انجام این کار از نظر شما چیه ؟
فرقی نمی کند یک سری از Guid استفاده می کنید. بنده به صورت زیر ذخیره می کنم ابتدا نام کاربر یا نام محصول پس از آن تاریخ ایجاد.
$"{_identity.GetUserName()}-{DateTime.Now.ToString("".Replace(" ", string.Empty))}" + Path.GetExtension(viewModel.image.FileName);
من معمولا ID سطر جاری رو اول نام فایل میزارم
بعضی مواقع هم از GUID برای نام گذاری استفاده میکنم
ممنون بابت راهنمایی ها مفید بود ,
بنده از یکسری کلاس دستی(خودم ننوشتم !) برای کم کردن حجم عکس اپلودی و پایین آوردن رزولیشن عکس دانلودی استفاده میکنم که در خط 82 اون رو میبینید.
متاسفانه بعد دادن نام دلخواه به فایل آپلودی و ذخیره اون در خط 82 به خطا میخوره و دلیل 100% این اخطار هم همینه که این تابع در مسیر گفته شده فقط دنبال اسمی اصلی فایل که در اپتدا آپلود شده میگرده و چون من نام فایل رو تغییر دادم نمیتونه پیداش کنه.
آیا مورد یا کلاس خاصی رو برای این کار سراغ دارید (که به پروژه اضافه کنم )که به همین شکل بتونیم حجم و رزولیشن عکس های آپلودی رو کم کنه ؟
خیلی خیلی ممنون مهندس علیزاده ,
یه گزینه پرداخت اون پایین هست ؟ این مورد رایگانه ؟
هر سه مورد زیر رو باید اضافه کنم :
میشه بگید شیوه استفاده این مورد به چه شکله ؟ کاربرد هر کدوم چیه ؟ و چطور میشه استفاده کنم ؟
این کتابخانه به کتابخانه دیگه ای سویچ کرده است: SixLabors/ImageSharp: A cross-platform library for the processing of image files; written in C#
و یک فریم ورک دیگر : What is ImageResizer? - ASP.NET Image resizing for IIS
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)