У меня проблема со строковым значением. Строка объявлена глобально. Строка name_file_image
.
У меня есть этот код:
// iterate image files
foreach (XElement node in xml.Element("graphics").Elements("file"))
{
// pick image
if (node.Attribute("type").Value == "image")
{
// demoing that we found something
//MessageBox.Show(node.Element("fileurl").Value);
string url_image = node.Element("fileurl").Value;
string[] array = url_image.Split('/');
**name_file_image** = array[array.Length - 1];
//MessageBox.Show(**name_file_image**);
WebClient webClient = new WebClient();
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_image);
webClient.OpenReadAsync(new Uri(url_image));
}
}
void webClient_image(object sender, OpenReadCompletedEventArgs e)
{
try
{
if (e.Result != null)
{
// Save image to Isolated Storage
// Create virtual store and file stream. Check for duplicate JPEG files.
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (myIsolatedStorage.FileExists(**name_file_image**))
{
myIsolatedStorage.DeleteFile(**name_file_image**);
}
IsolatedStorageFileStream fileStream = new IsolatedStorageFileStream(name_file_image, FileMode.Create, myIsolatedStorage);
BitmapImage bitmap = new BitmapImage();
bitmap.SetSource(e.Result);
WriteableBitmap wb = new WriteableBitmap(bitmap);
wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
fileStream.Close();
//MessageBox.Show(name_file_image);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Я читаю XML из файла в памяти и хочу сохранить изображения с именем, присутствующим в XML. Но у меня есть проблема. Переменная строка всегда имеет одно и то же имя. Я полагаю, код не является правильным. Любая помощь?