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异常");
}
}