我試圖將其上傳於Amazon S3的文件後無法使用的文件,之後filepicked它。UWP C# - 正在filepicked
開始,我這樣做:
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
}
,因此,這是我逮住了錯誤:
拋出異常:在mscorlib程序 'System.AggregateException'。 ni.dll System.AggregateException:發生一個或多個錯誤。 ---> System.UnauthorizedAccessException:訪問被拒絕。
處 PCLStorage.WinRTFileSystem.d__0.MoveNext() System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務 任務)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務 任務)
- - 內部異常堆棧跟蹤結束---在System.Threading.Tasks.Task1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task
1.get_Result()at Amazon.S3.Transfer.TransferUtility.validate(TransferUtilityUploadRequest request)at Amazon.S3.Transfer.TransferUtility .GetUploadCommand(TransferUtilityUploadRequest 請求,SemaphoreSli (內部例外#0)(在內部異常#0),在Amazon S3.S3Transfer.TransferUtility.UploadAsync(String filePath,String bucketName,String key,CancellationToken cancellationToken) System.UnauthorizedAccessException:訪問被拒絕。
我試圖把它放在另一個任務異步,但結果相同。
任何想法?
的filepicker應該只是得到的文件的名稱,而不是打開該文件。有不同版本的文件選擇器,你應該使用一個不打開文件,只需獲取文件名稱。 – jdweng
如何才能獲取文件的路徑而不是打開它? – F4Ke
在表單應用程序中它是:OpenFileDialog(不是FileOpen)。 – jdweng