HttpClient以multipart/form-data形式 提交文件和其它参数

publicasync Task<WebApiResult> UploadFile(UploadFileModel info, IList<IFormFile> files)

{

try

{

var postContent = new MultipartFormDataContent();

string boundary = string.Format("--{0}", DateTime.Now.Ticks.ToString("x"));

postContent.Headers.Add("ContentType", $"multipart/form-data, boundary={boundary}");

var requestUri = "/api/File/UploadFiles";

if (files.Any())

{

var stream = files[0].OpenReadStream();

//files为文件key, files[0].FileName 为文件名称

postContent.Add(new StreamContent(stream, (int)stream.Length), "files", files[0].FileName);

//Region为请求文件接口需要的参数,根据调用接口参数而定

postContent.Add(new StringContent(info.Region), "Region");

}

var response = await _httpclient.PostAsync(requestUri, postContent);

if (response.IsSuccessStatusCode)

{

var responseStr = await response.Content.ReadAsStringAsync();

var responseObj = JsonConvert.DeserializeObject<WebApiResult>(responseStr);

return responseObj;

}

//WebApiResult为自定义反会值returnnew WebApiResult(ApiResultCode.Fail, "保存失败");

}

catch (Exception ex)

{

thrownew Exception("保存file异常");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值