首页 > Windows开发 > 详细

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

时间:2019-12-12 19:31:30      阅读:539      评论:0      收藏:0      [点我收藏+]

  调用文件接口,需要一个上传文件和一个Region参数,参考调用实例

 public async 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为自定义反会值
                return new WebApiResult(ApiResultCode.Fail, "保存失败");
            }
            catch (Exception ex)
            {
                throw new Exception("保存file异常");
            }

        }

技术分享图片

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

原文:https://www.cnblogs.com/personblog/p/12030987.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!