我正在将文件从angular7上传到asp.net中的webapi2控制器。我总是在HTTPPostedFileBase的控制器参数中得到null。我已经从application / json和multipart等更改了太多内容类型,但是没有用。
有关更多详细信息,请参见屏幕截图。
我认为这是webAPI中的问题,我尝试从Postman上传文件,但这样做也相同。
更改了内容类型,例如application / json和multipart等。 将参数从HTTPPostedFileBase更改为HttpRequestResponse。它捕获了一些字符串并显示有一些内容,但是它以字符串形式读取数据,我不知道如何从那里保存文件。
// WebAPI控制器方法
[HttpPost]
public bool SavePic (HttpPostedFileBase file)
{
bool result = true;
string relativePath = "/Attachments/";
try
{
relativePath = relativePath + file.FileName + file.FileName.Substring(file.FileName.LastIndexOf("."));
string physicalPath = HttpContext.Current.Server.MapPath(relativePath);
file.SaveAs(physicalPath);
}
catch (Exception ex)
{
result = false;
}
return result;
}
[Angular Service] 在我的Angular服务中 saveImage(file:File):可观察{ 返回this.http.post('http://localhost:54174/api/Employee/SavePic/',文件,this.httpOptions).pipe(catchError(this.handleError)); }
在HTTPPostedFileBase参数中,应捕获图像文件。但是,我可以将其保存在驱动器上。