我正在尝试使用以下代码将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();
}
}
}
}
答案 0 :(得分:0)
我已经弄清楚了。其中两个文件有png和jpeg扩展名。代码只期望jpg扩展,因此在遇到这些扩展时返回null。