2017-09-28 3 views
0

filepickerでファイルオブジェクトを取得すると、ストレージファイルを削除/移動/コピーできます。しかし、ユーザーがWindowsファイルエクスプローラからアプリケーションにファイルをドロップすると、それらのファイルを削除/移動することはできません(ただし、コピーすることはできます)。私のコードは..UWP C#で削除したときにストレージファイルを削除/移動する方法は?

if (e.DataView.Contains(StandardDataFormats.StorageItems) == false) { return; }       
var files = await e.DataView.GetStorageItemsAsync(); 
if (files.Count < 0) { return; } 

foreach (var file in files) 
{ 
await file.DeleteAsync(StorageDeleteOption.PermanentDelete); 
//await file.MoveAsync(folder, Filename, NameCollisionOption.GenerateUniqueName); 
} 

私は削除/移動しようとすると、次のエラーが発生します。 "WinRT情報:このファイルは読み取りアクセスに制限されており、変更または削除できません"。しかし、このファイルは読み取り専用ではありません。それは私がファイルピッカーを介して同じファイルを追加することができます!

答えて

1

これは仕様です。ファイルを削除するとファイルを削除できませんでした。 UWPアプリケーションは、自分のファイルに直接アクセスするだけです。

Pickerは、「ドラッグアンドドロップ」操作とはまったく異なります。

ピッカーは、ユーザーの完全な権限で実行され、それがのStorageItemは、この証券会社をカプセル化したファイルピッカーなどを介してユーザによって要求されたアプリが機能を経由して要求した場所、場所についてはアプリの代わりにこれらの権限を使用することができますプロシージャは、アプリケーションが直接それを処理する必要はありません。 Robのblogより。

関連する問題