在我的打字稿中,我有文件上传,我可以像这样获取文件数据
var data = Array.prototype.map.call(view, function (byte: any) {
return ('0' + (byte & 0xFF).toString(16)).slice(-2);
}).join('');
然后我继续使用其他变量(例如
)将其保存到JSONthat.fileJSON = { "Filename": parts[0], "Extension": "." + parts[1], "Data": data, "TripId": that.newTripId, "TypeId": 1 };
然后我将它发送到等待
的c#控制器[FromBody]Docs
文档看起来像这样
public class Docs
{
public int Id { get; set; }
public string Filename { get; set; }
public string Extension { get; set; }
public byte[] Data { get; set; }
public int TypeId {get;set;}
public int TripId { get; set; }
}
上传300kb图像时一切正常,但是当尝试上传超过1mb的图像时,我的c#控制器中没有任何对象,那么我得到null异常。
它是不是“完成”数据变量,因为它的异步?
如果是这样,任何想法我怎么能等待它?
感谢。
我认为问题出在这里,console.log没有打印出正确的对象, 相反,它显示[object Object]
postFile(newFile : any) {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
console.log(newFile);
return this.http.post('api/Docs/PostDocs/', newFile, options).map(res => res.json());
}
有什么想法吗?