【问题标题】:File Not found Exception in Knownfolders.CamerRoll在 Knownfolders.CamerRoll 中找不到文件异常
【发布时间】:2013-09-09 14:38:31
【问题描述】:

当我尝试使用KnownFolders.CameraRoll 属性加载图像文件时,我得到File not found exception。该图像位于我的 windows phone 8 的 CameraRoll 中。我还在我的应用程序中启用了以下功能

  <Capability Name="ID_CAP_NETWORKING" />
   <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
   <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
   <Capability Name="ID_CAP_SENSORS" />
   <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
   <Capability Name="ID_CAP_MEDIALIB_PHOTO" />
  <Capability Name="ID_CAP_ISV_CAMERA" />

这是我获取图像的代码。

 private async void cameraRoll_btn_Click(object sender, RoutedEventArgs
 e) {
             try {
                 StorageFile file = await Windows.Storage.KnownFolders.CameraRoll.GetFileAsync("WP_20130607_003.jpg");
                 var mem = await file.OpenAsync(FileAccessMode.Read);
                 BitmapImage bitImage = new BitmapImage();
                 bitImage.SetSource(mem.AsStream());
                 ImageView.Source = bitImage;
             }
             catch (Exception ex) {
                 MessageBox.Show(ex.Message);
             }
         }

图像WP_20130607_003.jpg 也出现在相机胶卷中,我正在将应用程序部署到设备上。它在GetFileAsync 行上引发异常。任何预兆都可以给我一些暗示我在这里做错了什么吗?

谢谢

【问题讨论】:

    标签: c# exception windows-phone-8 image-loading media-library


    【解决方案1】:

    来自MSDN

    Windows Phone 8:此 API 不打算直接从 你的代码。

    您可以使用PhotoChooserTask 让用户选择一张照片。或者,您可以使用MediaLibrary.Pictures 以编程方式访问图片。例如

    MediaLibrary ml = new MediaLibrary();
    var picture = ml.Pictures.Where(x => x.Name.Equals("WP_20130607_003.jpg")).FirstOrDefault();
    if(picture != null)  
    {
       //get the image stream
       var picStream = picture.GetImage();
    
       //...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多