【问题标题】:Upload multiple files using web api in c#在c#中使用web api上传多个文件
【发布时间】:2018-10-25 02:22:24
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您可以通过 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;

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

    【讨论】:

      猜你喜欢
      • 2019-12-14
      • 2019-01-08
      • 2017-12-04
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多