0

次のコードを使用して、XAP から分離ストレージに複数の画像ファイルを保存しようとしています。約100ファイルを保存する予定です。問題はライン

sri = Application.GetResourceStream(uri) 

途中で null を返します。エミュレーターが保存できるファイル数に制限はありますか? または、何かが足りないのかもしれません..

    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();

                }
            }
        }
    }
4

1 に答える 1

0

私はそれを理解しました。2 つのファイルの拡張子は png と jpeg です。コードは jpg 拡張子のみを想定しているため、それらの拡張子に遭遇すると null を返します。

于 2013-01-31T07:39:03.670 に答える