如何从应用程序实例之间的媒体库中检索同一张照片?我启动照片库供用户通过以下方式选择照片:
PhotoChooserTask myPhotoChooser = new PhotoChooserTask();
myPhotoChooser.ShowCamera = true;
myPhotoChooser.Show();
myPhotoChooser.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);
然后在事件处理程序中,我检索所选文件的文件名,如下所示:
private void cameraCaptureTask_Completed(object sender, PhotoResult e)
{
if (e.TaskResult == TaskResult.OK)
{
string imagePath = e.OriginalFileName.ToString();
}
}
我将这些信息保存在隔离存储中,这样当用户再次启动应用程序时,我可以检索路径并显示如下图像:
private BitmapImage ConvertUriToBitmap(string pathToImage)
{
StreamResourceInfo streamResInfo = null;
Uri uri = new Uri(pathToImage, UriKind.Relative);
streamResInfo = Application.GetResourceStream(uri); //This fails! StreamResInfo is null
BitmapImage convertedBitmap = new BitmapImage();
convertedBitmap.SetSource(streamResInfo.Stream);
return convertedBitmap;
}
但是,这似乎不起作用,因为来自照片选择器的照片路径是某种形式的 guid:“\Applications\Data\02E58193-119F-42E2-AD85-C24247BE2AB0\Data\PlatformData\PhotoChooser-4edd185d- d934-4dac-8a34-758cac09d338.jpg"
每当我切换出应用程序或在页面之间移动时,Application.GetResourceStream(uri) 为空。有一个更好的方法吗?
如何每次都检索相同的路径,以便在我删除或终止应用程序时,我可以检索文件并显示它?或者是否有不同的/更有效的方式来做到这一点。