PDA

View Full Version : سوال: مشکل استفاده دوباره از عکس



water_lily_2012
سه شنبه 29 شهریور 1390, 12:57 عصر
سلام
من می خواهم تصویر را در بانک اکسس ذخیره کنم و بعد در Image نمایش دهم.
خوب ذخیره در بانک را انجام می دهم و مشکلی نیست. فقط هنگامیکه می خواهم تصویر را از بانک خوانده و در Image قرار دهم دچار مشکل می شوم.
طریقه کار من به این صورته که تصویر را از بانک می خوانم و در یک فایل ذخیره می کنم و سپس در image نمایش می دهم ولی هنگامیکه تصویر دوم را از بانک می خوانم و می خواهم در فایل ذخیره کنم خطای اینکه تصویر در حال استفاده توسط پروسس دیگری هست را می دهد.
اما:
من در برنامه خودم در قسمت XAML از کد استفاده کرده ام :

<Image>
<Image.Source>
<BitmapImage DecodePixelWidth="200" UriSource="Picture.jpg"/>
</Image.Source>
</Image>

و در کد نویسی هم:

String appStartPath = System.IO.Path.GetDirectoryName(Process.GetCurrent Process().MainModule.FileName);
if (memberlist[0].Picture != null)
{
// Save file
FileInfo fi = new FileInfo(appStartPath +"\\Image.jpg");
if (!fi.Exists)
{
//Create the file.
using (FileStream fs = fi.Create())
{
fs.Write(memberlist[0].Picture, 0, memberlist[0].Picture.Length);
}
}
else
{
//Create the file.
using (FileStream fs = fi.OpenWrite())
{
fs.Write(memberlist[0].Picture, 0, memberlist[0].Picture.Length);
}
}
}
بار دوم روی کد fi.OpenWrite خطا می دهد.

لطفا کمک کنید. کد کامل هم می خواهم. حدود 3 روش را امتحان کرده ام ولی نتیجه نگرفته ام.
فکرکنم باید اول از BitmapImage استفاده کنم و بعد انرا در Image خودم لود کنم. ولی درست بلد نیستم.
مثلا از کد زیر استفاده کردم ولی خوب این هم با خطا موجه شد.

System.Windows.Controls.Image myImage = new System.Windows.Controls.Image();
myImage.Width = 200;


BitmapImage myBitmapImage = new BitmapImage();


myBitmapImage.BeginInit();
myBitmapImage.UriSource = new Uri(appStartPath + "\\Image.jpg");


myBitmapImage.DecodePixelWidth = 200;
myBitmapImage.EndInit();

myImage.Source = myBitmapImage;

water_lily_2012
پنج شنبه 31 شهریور 1390, 09:39 صبح
لطفا یکی راهنمایی کنه.

مهدی فرزاد
پنج شنبه 31 شهریور 1390, 10:34 صبح
سلام
ببین این بکارت میاد؟
http://www.redmondpie.com/how-to-save-and-retrieve-images-in-c-wpf-application-from-sql-server-database/

water_lily_2012
پنج شنبه 31 شهریور 1390, 17:25 عصر
خدا خیرت بده.
مشکل حل شد.
با این کد دیگر نیازی نبود برای نمایش عکس در Image ابتدا عکس را در درایو ذخیره کنم. با تبدیل، مستقیم در image نشون داد. برای همین مشکل استفاده توسط پروسس دیگر حل شد.