2017-10-17 8 views
0

にある「ad_runner」という名前の特定のフォルダからファイルを取得ドライブ。私は間違って何をしていますか?UWP - WindowsのIOT - 私はUSBに位置しています「ad_runner」という名前のフォルダからファイルにアクセスしようとしていたとき、私は未処理のエラーショーアップを持っていますUSBドライブ

 async void AccessTheWebAsync() 
    { 
     StorageFolder remd = await KnownFolders.RemovableDevices.GetFolderAsync("ad_runner"); 
     IReadOnlyList<StorageFile> fileList = await remd.GetFilesAsync(); 
     foreach (StorageFile file in fileList) 
     { 
      dir_lbl.Text = dir_lbl.Text + "\r\n" + file.Name; 
     } 
    } 
+1

こんにちは、あなたはtry/catchブロックとキャッチにコードを置くことができる:だから、私は「ad_runner」という名前の内部のフォルダをチェックし、この後、最初に接続されているすべてのリムーバブルデバイスを取得するために少しのコードを修正し、 (もしあれば)発生している例外?また、アプリケーションマニフェストにusb宣言を追加しましたか? –

+0

はい、リムーバブル記憶域宣言を追加しました。 – Sillygoose4u

+0

シンプルな試合をするのはなぜ私には起こらなかったのか分かりません。結果(e.message)に「アクセスが拒否されました」と表示されています。 しかし、私はマニフェスト機能を有効にしました。 https://image.ibb.co/hxkBY6/Capture.jpg – Sillygoose4u

答えて

1

あなたは、この最初の呼び出しは、リムーバブルデバイス内のフォルダが、リムーバブルデバイスその人自身を返さないことがわかりますawait KnownFolders.RemovableDevices.GetFoldersAsync();呼び出そう。

async void AccessTheWebAsync() 
    { 
     //Maybe you want to do this inside a try catch and verify that at least 1 device is connected before you go on.... 
     var folderList = await KnownFolders.RemovableDevices.GetFoldersAsync(); 

     foreach (var device in await KnownFolders.RemovableDevices.GetFoldersAsync()) 
     { 
      try 
      { 
       StorageFolder remd = await device.GetFolderAsync("ad_runner"); 
       IReadOnlyList<StorageFile> fileList = await remd.GetFilesAsync(); 
       foreach (StorageFile file in fileList) 
       { 
        //Your logic here.... 
        dir_lbl.Text = dir_lbl.Text + "\r\n" + file.Name; 
       } 
      } 
      catch (Exception) 
      { 

      } 
      await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,() => 
      { 
       rightGridWrapper.Children.Add(new TextBlock { Text = $"DeviceName: {device.Name}" }); 
      }); 
     } 
} 
+0

それは動作します!もう1つは、含まれているフォルダ(ad_runner)の各ファイルの完全なパス(file.Path)を示していますが、これもまた素晴らしいですが、その値をリストの形式の画像URIに渡すと、画像は表示されません。何らかの理由がありますか? 'try { BitmapImage sf =新しいBitmapImage(新しいUri(path_x [1])); imagex.Source = sf; dir_lbl.Text = path_x [1]; //これは私がfile.pathから渡しているものです。 } catch(例外ex) { dir_lbl.Text = ex.Message; } ' – Sillygoose4u

+1

ファイルをビットマップイメージに読み込むには、IRandomAccessStreamから渡す必要があります。単純にイメージを構成するバイト[]を取得し、bitmapimage.sourceを割り当てることができます。あなたはここでいくつかの助けを見つけることができます:[リンク](http://windowsapptutorials.com/tips/storagefile/convert-storagefile-to-a-bitmapimage-in-universal-windows-apps/) –

+0

たぶんこれは別の質問;) –

関連する問題