多個文件上傳API已added to all .NET Service Clients in v4.0.54,允許您輕鬆地上傳一個HTTP請求中的多個流。它支持填充請求DTO與除多文件上傳數據流的查詢字符串和 POST'ed FORMDATA的任意組合:
using (var stream1 = uploadFile1.OpenRead())
using (var stream2 = uploadFile2.OpenRead())
{
var client = new JsonServiceClient(baseUrl);
var response = client.PostFilesWithRequest<MultipleFileUploadResponse>(
"/multi-fileuploads?CustomerId=123",
new MultipleFileUpload { CustomerName = "Foo,Bar" },
new[] {
new UploadFile("upload1.png", stream1),
new UploadFile("upload2.png", stream2),
});
}
或者只使用一個類型請求DTO。該JsonHttpClient
還包括異步當量爲每個新 PostFilesWithRequest
的API:
using (var stream1 = uploadFile1.OpenRead())
using (var stream2 = uploadFile2.OpenRead())
{
var client = new JsonHttpClient(baseUrl);
var response = await client.PostFilesWithRequestAsync<MultipleFileUploadResponse>(
new MultipleFileUpload { CustomerId = 123, CustomerName = "Foo,Bar" },
new[] {
new UploadFile("upload1.png", stream1),
new UploadFile("upload2.png", stream2),
});
}
的老問題/答案新評論,但我發現[這個要點](https://gist.github.com/cakriwut/ fab729cad785047cc8f0),它將擴展方法添加到「ServiceClientBase」中,以便將多個文件與請求主體進行POST。看起來像作者手卷邏輯。 – jklemmack 2017-01-18 19:23:21
@jklemmack thx的微調:)更新的答案,包括在v4.0.54中添加新的多文件上傳API。 – mythz 2017-01-18 19:29:17
哦谷歌,你讓我失望了! *哭* * gnashes牙* – jklemmack 2017-01-18 19:30:23