有没有人知道如何使用HttpClient.Net 4.5 multipart/form-data上传?
我在互联网上找不到任何例子.
我试图通过Windows商店应用程序的HTTP发送一些图像+一些元数据到服务器,但在尝试实际包含帖子中的数据时卡住了.由于商店应用API的更改,无法按照您在Windows窗体应用程序或类似应用程序中完成此操作的方式完成.
我收到了错误.
cannot convert source type byte[] to target type System.Net.Http.httpContent
Run Code Online (Sandbox Code Playgroud)
现在这显然是因为它有两种不能隐式铸造的不同类型,但它基本上是我希望能够做到的.如何将我的字节数组数据转换为httpContent类型,以便我可以将其包含在以下调用中
httpClient.PostAsync(Uri uri,HttpContent content);
Run Code Online (Sandbox Code Playgroud)
这是我的完整上传方法:
async private Task UploadPhotos(List<Photo> photoCollection, string recipient, string format)
{
PhotoDataGroupDTO photoGroupDTO = PhotoSessionMapper.Map(photoCollection);
try
{
var client = new HttpClient();
client.MaxResponseContentBufferSize = 256000;
client.DefaultRequestHeaders.Add("Upload", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)");
// POST action_begin
const string actionBeginUri = "http://localhost:51139/PhotoService.axd?action=Begin";
HttpResponseMessage response = await client.GetAsync(actionBeginUri);
response.EnsureSuccessStatusCode();
string responseBodyAsText = await response.Content.ReadAsStringAsync();
string id = responseBodyAsText;
////
// POST action_upload
Uri actionUploadUri = …Run Code Online (Sandbox Code Playgroud)