GetResourceStream возвращает null на полпути при сохранении файлов изображений в изолированном хранилище

Я пытаюсь сохранить несколько файлов изображений из моего XAP в изолированное хранилище, используя следующий код. Я планирую сохранить около 100 файлов. Проблема в линии

sri = Application.GetResourceStream(uri) 

возвращает ноль на полпути. Есть ли ограничение на количество файлов, которые может сохранить эмулятор? Или может я что-то упускаю..

    private static void SaveImageFileToIsoStore()
    {

        string[] files = AllFilesInImagesCatFolder();

        using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication())
        {
            if (!isoStore.FileExists(files[0]))
            {
                foreach (string f in files)
                {
                    IsolatedStorageFileStream fileStream = isoStore.CreateFile(f);
                    StreamResourceInfo sri = null;
                    Uri uri = new Uri("Images/cat/" + f, UriKind.Relative);
                    Debug.WriteLine(f);
                    sri = Application.GetResourceStream(uri);

                    BitmapImage bitmap = new BitmapImage();
                    bitmap.SetSource(sri.Stream);
                    WriteableBitmap wb = new WriteableBitmap(bitmap);

                    // Encode WriteableBitmap object to a JPEG stream.
                    Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 100);

                    fileStream.Close();
                    fileStream.Dispose();

                }
            }
        }
    }

person PutraKg    schedule 30.01.2013    source источник


Ответы (1)


Я понял это. Два файла имеют расширения png и jpeg. Код ожидает только расширение jpg, поэтому он возвращает null, когда встречает эти расширения.

person PutraKg    schedule 31.01.2013