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;
من می خواهم تصویر را در بانک اکسس ذخیره کنم و بعد در 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;