2017-09-28 2 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 님.

관련 문제