我想将 FormData 中的数据与同一对象中的文件一起发送。
我有一个对象
var dataForm : FormData = new FormData();
var objectToSend : any = {};
objectToSend.object1 = {
Name:'Name',
ID: 1
};
objectToSend.Arr = [1,2,3];
我发现了如何将文件放入 FromData
this.dataForm.append('file', <File>files[0], (<File>files[0]).name);
但是当以相同的方式将数据对象放入其中时,我像这样放置文件...
var stringfiedObejct = JSON.stringify(objectToSend);
this.dataForm.append('data', new Blob([stringfiedObejct], { type: 'application/json' }));
和电话一样
this.Http.post(`apiPath`, this.dataForm, { reportProgress: true, observe: 'events' })
.subscribe(event => {
});
它生成错误415 Unsupported Media尽管 api 方法具有相同的对象定义
public class DataObject
{
public int ID {get;set;}
public string Name {get;set;}
}
public class RequestParams
{
public List<int> Arr {get;set;}
public DataObject object1 {get;set;}
}
api是...
[HttpPost("uploadFile"), DisableRequestSizeLimit]
public IActionResult Upload(RequestParams param)
{
var file = Request.Form.Files[0];
return Ok();
}
虽然文件是在 api 中收到的,但是一旦我把对象放在 FormData 中,它就会产生那个错误