1. 程式人生 > >C# HttpClient Post 引數同時上傳檔案 上傳圖片 呼叫介面

C# HttpClient Post 引數同時上傳檔案 上傳圖片 呼叫介面

// 呼叫介面上傳檔案
using (var client = new HttpClient())
{
    using (var multipartFormDataContent = new MultipartFormDataContent())
    {
        var values = new[]
        {
            new KeyValuePair<string, string>("a", "3"),
            new KeyValuePair<string, string>("c", "2"),
            new KeyValuePair<string, string>("d", "2")
             //other values
        };
 
        foreach (var keyValuePair in values)
        {
            multipartFormDataContent.Add(new StringContent(keyValuePair.Value),
                String.Format("\"{0}\"", keyValuePair.Key));
        }
 
        multipartFormDataContent.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(@"D:\test.jpg")),
            "\"pic\"",
            "\"test.jpg\"");
 
        var requestUri = "http://localhost:8080";
        var html = client.PostAsync(requestUri, multipartFormDataContent).Result.Content.ReadAsStringAsync().Result;
    }
}

 

API 介面,接收請求引數 和上傳的檔案

 

   public string UploadHeadImg()
        {

            var ts = HttpContext.Current.Request["d"];
            HttpPostedFile file = System.Web.HttpContext.Current.Request.Files[0];
            // 副檔名
            string fileExtension = Path.GetExtension(file.FileName).ToLower();    
    
            Stream sr = file.InputStream;//頭像檔案流
            Bitmap bitmap = (Bitmap)Bitmap.FromStream(sr);
            bitmap.Save(“c:/img/1.jpg”, System.Drawing.Imaging.ImageFormat.Jpeg);
          return "success";
        }

 

來源:https://blog.csdn.net/luofeng0710/article/details/84202008