PDA

View Full Version : سوال: جایگزین کردن یک فایل با فایل دیگر با همان اسم در همان مسیر



ehsan.rahimi
پنج شنبه 27 مهر 1396, 23:34 عصر
با سلام خدمت اساتید.
من یک فرم دارم که اطلاعات یک شخص رو ثبت و ویرایش میکنم.این اطلاعات شامل عکس شخص هم هست.موقع ثبت اطلاعات مسیر عکس رو داخل دیتابیس و خود عکس رو داخل پوشه ای در مسیر برنامه با نام ایدی شخص مثلا 10000.jpg ذخیره میکنم.مشکلم داخل قسمت ویرایش هستش که چطور عکس جدید رو با عکس قدیم با همین اسم جایگزین کنم.
خطای because it is being used by another process میده

mahdiidham1383
جمعه 28 مهر 1396, 00:30 صبح
من در مورد دیتابیس چیزی نمی دونم ولی اگه فکر می کنی مشگل از ذخیره فایل هستش قبل از دستور جای گذاری اونو حذف کن هرچند که میدونم مشگل از این نیس
;("ادرس فایل")File.Delete

danialafshari
جمعه 28 مهر 1396, 01:03 صبح
با سلام خدمت اساتید.
من یک فرم دارم که اطلاعات یک شخص رو ثبت و ویرایش میکنم.این اطلاعات شامل عکس شخص هم هست.موقع ثبت اطلاعات مسیر عکس رو داخل دیتابیس و خود عکس رو داخل پوشه ای در مسیر برنامه با نام ایدی شخص مثلا 10000.jpg ذخیره میکنم.مشکلم داخل قسمت ویرایش هستش که چطور عکس جدید رو با عکس قدیم با همین اسم جایگزین کنم.
خطای because it is being used by another process میده

با سلام
برای اینکار عکس رو بصورت Stream باز کنید
براش یک متد نوشتم به شکل زیر :

private void OpenImageStream(string path, PictureBox PicBox)
{
if (System.IO.File.Exists(path))
{
System.IO.FileStream fs = new FileStream(path, System.IO.FileMode.Open);
pictureBox1.Image = Image.FromStream(fs);
fs.Close();
}
}

برای ذخیره هم میتونید از این کد استفاده کنید

pictureBox1.Image.Save(@"C:\test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

چون در کد قبلی Close شده، دیگه با اون خطا روبرو نمیشید
موفق باشید