Метод MediaLibrary.SavePicture приводит к исключению System.UnauthorizedAccessException
у нас есть следующий код, который обрабатывает загрузку и сохранение изображения на телефон 'медиа библиотека. Это не сSystem.UnauthorizedAccessException
как будто был какой-то межпоточный доступ. Насколько я понимаю, весь код ниже оператор await выполняется в потоке пользовательского интерфейса, так что это не должно быть проблемой. Кроме того, ямы пытались обернуть код нижеvar stream = await client.OpenReadTaskAsync(this.Url);
сDeployment.Current.Dispatcher.BeginInvoke
но это не помогло. :( Я запускаю это на WP8 с намерением перенести код позже на WP7.
private async void OnSaveImageCommand()
{
RunProgressIndicator(true, "Downloading image...");
var client = new WebClient();
try
{
var stream = await client.OpenReadTaskAsync(this.Url);
var bitmap = new BitmapImage();
bitmap.SetSource(stream);
using (var memoryStream = new MemoryStream())
{
var writeableBitmap = new WriteableBitmap(bitmap);
writeableBitmap.SaveJpeg(memoryStream, writeableBitmap.PixelWidth, writeableBitmap.PixelHeight, 0,
100);
memoryStream.SetLength(memoryStream.Position);
memoryStream.Seek(0, SeekOrigin.Begin);
var mediaLibrary = new MediaLibrary();
mediaLibrary.SavePicture("image.jpg", memoryStream);
MessageBox.Show("Image has been saved to the phone's photo album");
}
}
catch
{
MessageBox.Show("Failed to download image");
}
finally
{
RunProgressIndicator(false);
}
}