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

浙公网安备 33010602011771号