I 서버와 저장에서 이미지를 가져 오는 윈도우 8의 C# 응용 프로그램에서 다음과 같은 코드가 있습니다UnauthorizedAccessException 동안 파일을 저장
private async Task httpFetcher()
{
HttpClient httpClient = new HttpClient();
HttpRequestMessage request = new HttpRequestMessage(
HttpMethod.Get, "http://www.example.com/fakeImageRotator.php"); // FOR EXAMPLE
HttpResponseMessage response = await httpClient.SendAsync(request,
HttpCompletionOption.ResponseHeadersRead);
Uri imageUri;
BitmapImage image = null;
try
{
var imageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(
"test.png", CreationCollisionOption.ReplaceExisting);
var fs = await imageFile.OpenAsync(FileAccessMode.ReadWrite);
DataWriter writer = new DataWriter(fs.GetOutputStreamAt(0));
writer.WriteBytes(await response.Content.ReadAsByteArrayAsync());
await writer.StoreAsync();
writer.DetachStream();
await fs.FlushAsync();
writer.Dispose();
if (Uri.TryCreate(imageFile.Path, UriKind.RelativeOrAbsolute, out imageUri))
{
image = new BitmapImage(imageUri);
}
}
catch (Exception e)
{
return;
}
image1.Source = image;
}
내가 무작위이 특정 라인에 오류를 얻을 나타납니다
var imageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(
"test.png", CreationCollisionOption.ReplaceExisting);
항상 발생하는 것은 아니므로 문제를 정확하게 파악하는 방법을 모르겠습니다. 모든 오류 정보가 여기에 있습니다 :
UnauthorizedAccessException는 액세스가 거부
붙 잡혔다. (HRESULT에서 예외 : 0x80070005와 (E_ACCESSDENIED)) System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification에서 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (작업 작업) (작업 작업)에서 System.Runtime.CompilerServices에서. D에 TestApp.MainPage.d__4.MoveNext에서 TaskAwaiter`1.GetResult() () : \ TestApp가 \ TestApp가 \의 MainPage.xaml.cs를 : 라인 86
흠, 이제 var stream = await imageFile.OpenAsync (Windows.Storage.FileAccessMode.Read);에서 UnauthorizedAccessException (액세스가 거부되었습니다 (HRESULT : 0x80070005 (E_ACCESSDENIED) 예외)가 발생했습니다. 아마도 이번에는 권한 문제일까요? 어떤 생각? :/ – ReignOfComputer
@ReignOfComputer - 업데이트 된 게시물을 참조하십시오. 꽤 바뀌 었습니다. –
감사합니다.너 멋지다! :디 – ReignOfComputer