0

私は 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);
    }
4

0 に答える 0