PDA

View Full Version : چک کردن نام فایل ها با نام ذخیره شده در دیتابیس



safari_m4
جمعه 15 تیر 1403, 12:04 عصر
سلام و وقت بخیر دوستان من جهت ذخیره تصاویر ابتداء می یام نام فایل با پسوند آن را در دیتابیس خود اسکیوال ذخیره می کنم سپس تصویر را با همان نام و پسوند در پوشه ای کنار فایل اجرایی ذخیره می کنم حالا چگونه چک کنم که ببینم کدام نام فایل در دیتابیس وجود دارد ولی در پوشه تصاویر وجود ندارد . سپس اقدام به حذف تصویر مورد نظر با همان نام و پسوند از داخل پوشه نمایم با تشکر و سپاس

mmbguide
یک شنبه 17 تیر 1403, 11:48 صبح
سلام

به راحتی میتونید با استفاده از کلاس IO.File این کار رو انجام بدید. البته نمیدونم سیستم ذخیره سازی فایلهاتون چطوری هستش. این اقدام رو تحت چه شرایطی میخواهید انجام بدید؟ منظورم اینه که یک سیکل بررسی دارید یا اینکه با اجرای یک متد توسط کاربر می خواهید انجام بدید؟

https://stackoverflow.com/questions/6391711/how-to-delete-a-file-after-checking-whether-it-exists

https://learn.microsoft.com/en-us/dotnet/api/system.io.file.delete?view=net-8.0

safari_m4
دوشنبه 18 تیر 1403, 11:45 صبح
سلام

به راحتی میتونید با استفاده از کلاس IO.File این کار رو انجام بدید. البته نمیدونم سیستم ذخیره سازی فایلهاتون چطوری هستش. این اقدام رو تحت چه شرایطی میخواهید انجام بدید؟ منظورم اینه که یک سیکل بررسی دارید یا اینکه با اجرای یک متد توسط کاربر می خواهید انجام بدید؟

https://stackoverflow.com/questions/6391711/how-to-delete-a-file-after-checking-whether-it-exists

https://learn.microsoft.com/en-us/dotnet/api/system.io.file.delete?view=net-8.0

با سلام و تشکر بله همانطور که گفتید یک سیکل برسی است که چنانچه به دلایلی نام فایل از دیتابیس حذف شده بود اینجا بررسی شود و در صورت نبودن در دیتابیس تصویر مورد نظر حذف شود ضمنا تا جایی که ممکن بوده من حتی در موقع ویرایش تصویر و حتی در موقع بازبینی اطلاعات عملیات ویرایش و حذف تصویر انجام می شود و یک موردی اتفاق افتاد که نام از دیتابیس پاک شده بود و نام تصویر پاک شده که باید و مجبور شدم یک برسی انجام بشود مجدد با تشکر

mmbguide
چهارشنبه 20 تیر 1403, 16:45 عصر
پیاده سازی شما نمیدونم چطور انجام شده ولی آنچه که از توضیحات شما متوجه شدم را در قالب یک پیشنهاد مطرح میکنم:


شما فایل را از کاربر دریافت میکنید
ممکن است کاربران فایل های همنام داشته باشند (مثلا 10 کاربر یک فایل PDF با نام "سوابق کار" دارند).
قرار است تمام فایل ها در یک پوشه ذخیره شوند و امکان ذخیره فایل های همنام وجود ندارد (آیتم 2).
در زمان ذخیره فایل در پوشه مورد نظر، ابتدا تمام اطلاعات فایل را بدست بیارید و در بانک اطلاعاتی ذخیره کنید.
اطلاعات فایل مانند نام فعلی، پسوند فایل، حجم فایل و...
در زمان ذخیره این اطلاعات در بانک اطلاعاتی، یک شماره منحصر به فرد از نوع Guid به اون ردیف تخصیص بدید.
پس از ثبت اطلاعات در بانک اطلاعاتی، اقدام به ذخیره فایل در پوشه کنید و قبل از ذخیره نام فایل را به مقدار Guid که قبلا تولید شده تغییر بدید.
حالا اطلاعات جدول بانک اطلاعاتی هر تغییری بکنه دیگه ارتباطی با فایل نداره (به غیر از مقدار Guid).
هر زمان قرار شد فایل را در محل دیگری ذخیره کنید و یا به کاربر تحویل بدید، میتونید فایل موجود در سیستم که نام آن با مقدار Guid متناظر هستش را شناسایی کنید و در زمان تحویل به نام اصلی و پسوند اصلی به کاربر تحویل بدید.
میتونید مقدار Guid را کلید اصلی جدول در نظر بگیرید.
حالا اگر نیاز باشه که فایل های سیستم را بررسی کنید براحتی با یک حلقه میتونید تمام فایل ها را چک کنید و اگر فایل مورد نظر موجود نبود به کاربر پیغام بدید.

safari_m4
چهارشنبه 20 تیر 1403, 21:27 عصر
پیاده سازی شما نمیدونم چطور انجام شده ولی آنچه که از توضیحات شما متوجه شدم را در قالب یک پیشنهاد مطرح میکنم:


شما فایل را از کاربر دریافت میکنید
ممکن است کاربران فایل های همنام داشته باشند (مثلا 10 کاربر یک فایل PDF با نام "سوابق کار" دارند).
قرار است تمام فایل ها در یک پوشه ذخیره شوند و امکان ذخیره فایل های همنام وجود ندارد (آیتم 2).
در زمان ذخیره فایل در پوشه مورد نظر، ابتدا تمام اطلاعات فایل را بدست بیارید و در بانک اطلاعاتی ذخیره کنید.
اطلاعات فایل مانند نام فعلی، پسوند فایل، حجم فایل و...
در زمان ذخیره این اطلاعات در بانک اطلاعاتی، یک شماره منحصر به فرد از نوع Guid به اون ردیف تخصیص بدید.
پس از ثبت اطلاعات در بانک اطلاعاتی، اقدام به ذخیره فایل در پوشه کنید و قبل از ذخیره نام فایل را به مقدار Guid که قبلا تولید شده تغییر بدید.
حالا اطلاعات جدول بانک اطلاعاتی هر تغییری بکنه دیگه ارتباطی با فایل نداره (به غیر از مقدار Guid).
هر زمان قرار شد فایل را در محل دیگری ذخیره کنید و یا به کاربر تحویل بدید، میتونید فایل موجود در سیستم که نام آن با مقدار Guid متناظر هستش را شناسایی کنید و در زمان تحویل به نام اصلی و پسوند اصلی به کاربر تحویل بدید.
میتونید مقدار Guid را کلید اصلی جدول در نظر بگیرید.
حالا اگر نیاز باشه که فایل های سیستم را بررسی کنید براحتی با یک حلقه میتونید تمام فایل ها را چک کنید و اگر فایل مورد نظر موجود نبود به کاربر پیغام بدید.


با تشکر و سپاس