PDA

View Full Version : سوال: حذف فایل آپلودشده از فولدر در سایت asp



mansoure_p
دوشنبه 06 مرداد 1393, 02:07 صبح
سلام به همگی!
من یه قسمتی رو در سایتم دارم که یک عکس رو آپلود میکنم،این عکس در یک gridview نمایش داده میشه و در دیتابیس ذخیره میشه و در فولدری به نام Upload قرار داده میشه.
من هر عکسی رو که آپلود میکنم یک thumbnail هم از اون عکس میسازه.یعنی تو فولدر آپلود از هر عکس دو نمونه هست:یکی thumbnail و یکی هم خودش که با نام متفاوت ذخیره میشه.
حالا نمیدونم چطوری میشه یک عکس رو از فولدر آپلود حذف کرد؟ هم thumbnail ش رو و هم خودش که با نامی متفاوت ذخیره میشه.
خواهش میکنم راهنماییم کنید.

alonmahdi
دوشنبه 06 مرداد 1393, 05:24 صبح
سلام

خوب اولا این که فایل هات رو با یک نام ذخیره کن توی دوتا فولدر که راحت باشی چون در غیر این صورت حتما باید نام عکس ها رو یک جایی ذخیره کنی .
بعدش از کد زیر برای حذف استفاده کن .


using System.IO;



File.Delete(Server.MapPath(".") + "\\FolderName\\FileName");


موفق باشید .

mansoure_p
دوشنبه 06 مرداد 1393, 19:33 عصر
سلام .
انگار من درست توضیح ندادم نام عکس با استفاده از Guid یک نام متفاوت میشه برای جلوگیری از ذخیره دو عکس با نام یکسان. هم thumbnail و هم خود عکس نامشون یکسان هست ولی نمونه کوچک عکس پسوند thumbnail میگیره.عکس ها پس از آپلود شدن توی یک gridview نمایش داده میشن و در فولدری به نام آپلود هم ذخیره میشن. در rowcommand گریدویو دستوری به نام حذف رو قرار دادم
میتونم عکس ها رو از گریدویو و دیتابیس حذف کنم ولی نمیتونم از فولدر آپلود حذفشون کنم.نمیدونم چجوری؟
این filename رو که گفتید از کجا باید بگیرم؟

alonmahdi
دوشنبه 06 مرداد 1393, 20:34 عصر
اگه شما با همین نام که در فولدر ذخیره میشه در دیتابیس ذخیره شدن بلافاصله بعد از حذف از دیتابیس نام اون عکس رو بجای اون FileName بگذارید و حذف کنید.

mansoure_p
شنبه 11 مرداد 1393, 19:41 عصر
سلام
من از همون کدی که در بالا گفتین استفاده کردم + filename
ولی همش این error رو میده.
Could not find a part of the path 'C:\Users\Emertat\Documents\Visual Studio 2010\Projects\ArtGallerypreview\ArtGallerypreview\ Admin\Uploads\GalleryImages\b6d61311-e6a2-41a2-9ac5-11bbc11aae4f'.

و این رو هم بگم که فولدر uploads درون admin نیست ولی نمیدونم چرا Uploads رو توی admin آدرس میده. ممکنه خطا از این جا باشه؟من دقیقا از کدی که گفتین استفاده کردم فقط به جای فولدر ها اسم فولدر خودم و به جای filename هم اسم عکسم رو گذاشتم.

mansoure_p
یک شنبه 12 مرداد 1393, 17:04 عصر
پاسخ را یافتم !!!!!:لبخندساده:

121940

alonmahdi
دوشنبه 13 مرداد 1393, 10:20 صبح
پاسخ را یافتم !!!!!:لبخندساده:



عذر خواهی می کنم از این که دیر اومدم و نبودم که سر بزنم و کمکتون کنم .
و خوشحالم از این که به راه حل خودتون رسیدید.
موفق باشید.

omixii
دوشنبه 13 مرداد 1393, 13:07 عصر
دوست عزیز اگه امکانش هست کد کامل رو بزارید تا اگه بشه من هم در پروژه م لحاظ کنم .
ممنونم

mansoure_p
سه شنبه 14 مرداد 1393, 12:33 عصر
خواهش میکنم
ممنون از راهنماییتون.

mansoure_p
سه شنبه 14 مرداد 1393, 12:41 عصر
دوست عزیز اگه امکانش هست کد کامل رو بزارید تا اگه بشه من هم در پروژه م لحاظ کنم .
ممنونم

سلام. من از <templatefield> در طراحی gridview استفاده کردم و CommandArgument رو برابر imageID قرار دادم.لازم به گفتن نیست که گریدویو به بانک اطلاعاتی و جدول مورد نظر متصل هست.
بعد از gridviewRowCommand استفاده کردم و کدی رو که در بالا دیدی رو توش نوشتم. پارامتر e هم که مال خود GridviewRowCommand هست.

omixii
سه شنبه 14 مرداد 1393, 17:55 عصر
سلام. من از <templatefield> در طراحی gridview استفاده کردم و CommandArgument رو برابر imageID قرار دادم.لازم به گفتن نیست که گریدویو به بانک اطلاعاتی و جدول مورد نظر متصل هست.
بعد از gridviewRowCommand استفاده کردم و کدی رو که در بالا دیدی رو توش نوشتم. پارامتر e هم که مال خود GridviewRowCommand هست.
ممنون دوست عزیز
اگر امکانش هست فایل مربوطه رو ضمیمه کنی ممنونت میشم .

omixii
پنج شنبه 16 مرداد 1393, 12:55 عصر
دوستان عزیز سلام
بنده از طریق gridview اطلاعات ثبت شده رو نمایش میدم .
مشکلی که دارم این هست که در هنگام حذف مقادیر از gridview تمامی اطلاعات از جدول sql بنده حذف میشه اما فایل هایی که قبلا آپلود کردم در بخش upload حذف نمیشه ....
ضمناً، اینم بگم که بنده برای آپلود فقط آدرس عکس رو داخل database ذخیره میکنم .
ممنون میشم راهنمایی کنید .
122066
122065

mkmostafa
پنج شنبه 16 بهمن 1393, 14:34 عصر
سلام دوستان
این پروژه رو برا ما هم قرار بده.
و فایل



protected void DataList3_ItemCommand(object source, DataListCommandEventArgs e) { var s = e.CommandName;
من از این طریق ادرس رو تو پایگاه داده حذف می کنم _db.img_delete(s);
از این طریق فایل رو از فولدر File.Delete(Server.MapPath(s)); }
مشکل اینجاست که تو سیستم لوکال خودم انجام می ده ولی تو هاست خطا میده