我们正在使用.NETCore2(Web API)开发Angular5,我们需要上传文件以及要包装在复杂对象中的其他输入。 下面是它的样子
public class SomeComplexObject
{
[JsonProperty("innerComplexObject")]
public innerComplexClass innerComplexObject { get; set; }
[JsonProperty("fileSelect")]
public IFormFile FileInfo { get; set; }
}
下面是我们的html中的Form元素,它包含在enctype =“multipart / form-data”
中 <input #file name="fileSelect" type="file" multiple />
我们也在Angular Http Service中传递标题,如下所示。 (我们甚至尝试通过传递下面没有工作的空httpOptions来删除内容类型)
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'multipart/form-data'
})
};
return this.http.post("url", formDataofSomeComplexObject, httpOptions)
.map(this.extractData)
.catch(this.handleError);
我们面临的问题是Action方法的SomeComplexObject输入始终为null。如果我们不传递文件数据,那么everythig工作正常。当我们在.NET核心代码中检查请求的内容类型时,我们总是看到application / json。
非常感谢任何帮助。