WebAPI中的Controller处的HTTPPostedFileBase null

时间:2019-05-06 20:28:28

标签: asp.net angular asp.net-web-api2

我正在将文件从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参数中,应捕获图像文件。但是,我可以将其保存在驱动器上。

0 个答案:

没有答案