C#下载和使用文件导致System.UnauthorizedAccessException
我正在尝试创建一个下载文件然后编辑此文件的应用程序。
我遇到的问题是,一旦文件被下载,它似乎没有放弃该文件,我可以将文件下载到其本地存储,我已经从Iso手动获取文件,它的罚款。 如果我使用该应用程序继续下载文件后我得到System.UnauthorizedAccessException错误,但如果我关闭并打开应用程序然后只是编辑保存在iso中的文件它的工作原理,就像我说它喜欢的东西仍在使用下载文件。
public async void DownloadTrack(Uri SongUri) { var httpClient = new HttpClient(); var data = await httpClient.GetByteArrayAsync(SongUri); var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("Test.mp3", CreationCollisionOption.ReplaceExisting); var targetStream = await file.OpenAsync(FileAccessMode.ReadWrite); await targetStream.AsStreamForWrite().WriteAsync(data, 0, data.Length); await targetStream.FlushAsync(); }
这个代码可以正常下载mp3,因为我已经测试了下载文件。 我已经看过代码结尾的示例
targetStream.Close();
但它没有给我,有没有另一种方式来关闭下载谢谢。
而不是调用Close()
或Dispose()
我真的很喜欢使用自动完成工作的。 所以你的方法看起来像这样:
上述就是C#学习教程:C#下载和使用文件导致System.UnauthorizedAccessException分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
public async void DownloadTrack(Uri SongUri) { using (HttpClient httpClient = new HttpClient()) { var data = await httpClient.GetByteArrayAsync(SongUri); var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("Test.mp3", CreationCollisionOption.ReplaceExisting); using (var targetStream = await file.OpenAsync(FileAccessMode.ReadWrite)) { await targetStream.AsStreamForWrite().WriteAsync(data, 0, data.Length); await targetStream.FlushAsync(); } } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/956942.html