مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

alibahman47

عضویت از 1395/11/13

انتخاب نام منحصر به فرد برای تصاویر آپلودی در زمان ذخیره شدن

  • شنبه 28 مرداد 1396
  • 13:35
تشکر میکنم

درود

در قسمت های زیادی از پروژه بنده باید تصاویر رو دریافت کرده و ذخیره کنم , من همه جا تصاویر رو با نام های اصلی خود فایل ذخیره کردم و مشکلی که در این مورد وجود داره اینه که اگه یک فایل هم نام با فایل های قبل بخواد روی پروژه آپلود بشه فایل قبلی حذف میشه .

میشه مثلا یه عدد Random تولید کرد و اون رو بعوان اسم فایل انتخاب کرد (البته یک درصد خیلی کم بازهم امکان تشابه هست) و یا میشه نام عکس رو برابر Id سطر جاری گذاشت که قطعا منحصر به فرده .

بهترین روش برای انجام این کار از نظر شما چیه ؟

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • شنبه 28 مرداد 1396
  • 13:50

فرقی نمی کند یک سری از Guid استفاده می کنید. بنده به صورت زیر ذخیره می کنم ابتدا نام کاربر یا نام محصول پس از آن تاریخ ایجاد.

$"{_identity.GetUserName()}-{DateTime.Now.ToString("".Replace(" ", string.Empty))}" + Path.GetExtension(viewModel.image.FileName);

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 28 مرداد 1396
  • 14:54

من معمولا ID سطر جاری رو اول نام فایل میزارم

بعضی مواقع هم از GUID برای نام گذاری استفاده میکنم

کاربر سایت

alibahman47

عضویت از 1395/11/13

  • شنبه 28 مرداد 1396
  • 21:22

ممنون بابت راهنمایی ها مفید بود  ,

بنده از یکسری کلاس دستی(خودم ننوشتم !) برای کم کردن حجم عکس اپلودی و پایین آوردن رزولیشن عکس دانلودی استفاده میکنم که در خط 82 اون رو میبینید.

متاسفانه بعد دادن نام دلخواه به فایل آپلودی و ذخیره اون در خط 82 به خطا میخوره و دلیل 100% این اخطار هم همینه که این تابع در مسیر گفته شده فقط دنبال اسمی اصلی فایل که در اپتدا آپلود شده میگرده و چون من نام فایل رو تغییر دادم نمیتونه پیداش کنه.

آیا مورد یا کلاس خاصی رو برای این کار سراغ دارید (که به پروژه اضافه کنم )که به همین شکل  بتونیم حجم و رزولیشن عکس های آپلودی رو کم کنه ؟

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • شنبه 28 مرداد 1396
  • 21:26
کاربر سایت

alibahman47

عضویت از 1395/11/13

  • شنبه 28 مرداد 1396
  • 22:13

خیلی خیلی ممنون مهندس علیزاده ,

یه گزینه پرداخت اون پایین هست ؟ این مورد رایگانه ؟

هر سه مورد زیر رو باید اضافه کنم  :

ImageProcessor.Web.Config

ImageProcessor.Web

ImageProcessor

میشه بگید شیوه استفاده این مورد به چه شکله ؟ کاربرد هر کدوم چیه ؟ و چطور میشه استفاده کنم ؟

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • شنبه 28 مرداد 1396
  • 22:34

این کتابخانه به کتابخانه دیگه ای سویچ کرده است: SixLabors/ImageSharp: A cross-platform library for the processing of image files; written in C#

و یک فریم ورک دیگر : What is ImageResizer? - ASP.NET Image resizing for IIS

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)