Я пытаюсь загрузить файл на amazon s3 после его удаления.UWP C# - Невозможно использовать файл после файла.
Для начала, я делаю это:
var picker = new Windows.Storage.Pickers.FileOpenPicker();
picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
picker.SuggestedStartLocation =
Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add("*");
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
так вот, file
определена и готова к эксплуатации.
После этого, я стараюсь, чтобы загрузить его, как это:
if (file != null)
{
upload(file.Path);
}
...
public async Task<string> upload(string path)
{
TransferUtility utility = new TransferUtility(...);
await utility.UploadAsync(path,key, bucket); // HERE IS THE PROBLEM
}
и так, что это ошибка, я поймала:
Исключение брошено: 'System.AggregateException' в mscorlib. ni.dll System.AggregateException: Произошла одна или несколько ошибок. ---> System.UnauthorizedAccessException: Acces denied.
на System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Task задач) при System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Задача задач) при PCLStorage.WinRTFileSystem.d__0.MoveNext()
- - Конец внутренней трассировки стека исключений --- у System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task
1.get_Result() в Amazon.S3.Transfer.TransferUtility.validate (TransferUtilityUploadRequest запроса) в Amazon.S3.Transfer.TransferUtility .GetUploadCommand (TransferUtilityUploadRequest запрос, SemaphoreSli м asyncThrottler) на Amazon.S3.Transfer.TransferUtility.UploadAsync (String Filepath, String bucketName, ключ String, CancellationToken CancellationToken) на Tilkee.Upload.d__0.MoveNext() ---> (Inner Exception # 0) System.UnauthorizedAccessException: Acces denied.
Я попытался поместить его в другую задачу async, но тот же результат.
Любые идеи?
Файлпикер должен просто получить имя файла и не открывать файл. Существуют разные версии файлового сборщика, и вы должны использовать тот, который не открывает файл, просто получите имя файла. – jdweng
Как я могу просто получить путь к файлу, а не открывать его? – F4Ke
В приложении формы это: OpenFileDialog (не FileOpen). – jdweng