私は BackgroundUploader インスタンスを持っています。これを使用して、put メソッドを使用して webdav サーバーにいくつかのファイルをアップロードします。これは問題なく動作します。BackgroundUploader 名前空間には、複数のファイルをアップロードするための BackgroundTransferContentPart メソッドがあります。ファイルがサーバーに配置されるように、ファイル名をURIに追加する必要があるため、正しい方法で行う方法がわかりません。BackgroundTransferContentPart では、URI はファイル名なしで 1 回だけ指定されるため、この複数ファイルのアップロードを行うにはどうすればよいですか?
編集:これが私のコードです
private async void UploadAllFiles()
{
// URI
Uri uri = new Uri("https://example.com/upload/");
// FileOpenPicker
FileOpenPicker picker = new FileOpenPicker();
picker.FileTypeFilter.Add("*");
IReadOnlyList<StorageFile> files = await picker.PickMultipleFilesAsync();
// Files
List<BackgroundTransferContentPart> parts = new List<BackgroundTransferContentPart>();
for (int i = 0; i < files.Count; i++)
{
BackgroundTransferContentPart part = new BackgroundTransferContentPart("File" + i, files[i].Name);
part.SetFile(files[i]);
parts.Add(part);
}
// Credentials
string userName = "username";
string passWord = "password";
var creds = new PasswordCredential("login", userName, passWord);
// BG-Uploader
BackgroundUploader uploader = new BackgroundUploader();
uploader.SetRequestHeader("RequestId", file.DisplayName);
uploader.Method = "PUT";
uploader.ServerCredential = creds;
// Create operation
UploadOperation upload = await uploader.CreateUploadAsync(uri, parts);
// Upload
await upload.StartAsync().AsTask(cts.Token, progressCallback);
}