使用c#中的web api上传多个文件

时间:2018-05-15 09:43:41

标签: c# asp.net-web-api file-upload

enter image description here

我想使用WebClient或HttpClient进行等同于给定图像的api调用(使用邮递员调用api)。我想在一个api调用中一起发送文件和文本。

1 个答案:

答案 0 :(得分:0)

您可以通过HttpClient通过api调用保存图像。这是代码:

将文件发送到API

var content = new ByteArrayContent(filedata);
            content.Headers.ContentType = new MediaTypeHeaderValue(BE.Common.ContentType.appjson);

            using (var client = new HttpClient())
            {
                aPIRequestfile.FileName = filename;
                aPIRequestfile.UserId = CurrentSession.Instance.VerifiedUser.UserDetailId;
                aPIRequestfile.ContentType = contentType;
                aPIRequestfile.IsProfile = isProfile;
                client.DefaultRequestHeaders.Add("FileDetails", JsonConvert.SerializeObject(aPIRequestfile));
                var ApiRequest = client.PostAsync(apiUrl, content);
                if (ApiRequest != null)
                {
                    if (ApiRequest.Result.StatusCode == HttpStatusCode.OK)
                    {
                        RepsonseMsg = ApiRequest.Result.Content.ReadAsStringAsync().Result;

                    }
                    else
                        RepsonseMsg = BE.ResultStatus.Failed.ToString();
                }
            }

通过API接收

byte [] filebytes = Request.Content.ReadAsByteArrayAsync()。Result;

您将收到字节,然后可以保存它。