我正在尝试向webapi post服务发送一个具有两个int和一个字节数组属性的复杂对象。如果我仅使用填充的两个int属性发送参数,则body值将绑定到服务参数。填充数组后,服务参数为空。
该应用程序的总体目的是将段中的文件发送到要保存的数据库。
之前有没有人处理类似的事情?感谢您的任何帮助。
这是进行http POST调用的服务功能
uploadChunk(params: FileParams, success) {
let body = JSON.stringify({ fileId: new Number(params.fileId), chunkId: new Number(params.chunkId), chunk: new Array(params.chunk) });
//let body = JSON.stringify({ fileId: params.fileId, chunkId: params.chunkId, chunk: new Array(params.chunk), totalSegments: 0, valid: new Boolean(false), fileName: " ", dateCreated: " ", un: " ", accessToken: " " });
//let body = JSON.stringify({ params });
let url = this._fileUrl + 'api/file/UploadChunk';
debugger;
return this.http.post(url, body, this.postOptions)
.toPromise()
.then((res: Response) => success(res.json()))
.catch(this.error);
}
这是FileParams对象
export class FileParams {
fileId: number;
chunkId: number;
chunk: Int8Array;
}
我在服务中使用的标题
postHeaders = new Headers({ 'Accept': 'application/json', 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' });
这里的相关内容是服务方法的开始
[HttpPost]
public int UploadChunk([FromBody]FileUploadParams c)
{ }