我需要使用HttpClient将文件发送到WEB API并使用以下代码来实现它。我无法弄清楚为什么我没有在WEB API中修改任何文件,但请求命中了API控制器。
客户端代码
var fs = new FileStream(@"C:\SomLocation\ExcelFile.xlsx", FileMode.Open, FileAccess.Read);
MemoryStream ms = new MemoryStream();
fs.CopyTo(ms);
var client = new HttpClient();
client.BaseAddress = new Uri(GetAPIBaseAddress());
HttpContent content = new StreamContent(ms);
var data = new MultipartFormDataContent();
data.Add(content, "file1");
var response = client.PostAsync(GetImportAPIURL(), data).Result;
在API中
System.Web.HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;
foreach(System.Web.HttpPostedFile file in hfc)
{
// do some processing;
}
非常感谢任何帮助。