来自TS的字节数组无法在C#控制器中识别

时间:2018-03-13 08:40:45

标签: c# multithreading angular typescript asynchronous

在我的打字稿中,我有文件上传,我可以像这样获取文件数据

 var data = Array.prototype.map.call(view, function (byte: any) {
            return ('0' + (byte & 0xFF).toString(16)).slice(-2);
        }).join('');

然后我继续使用其他变量(例如

)将其保存到JSON
that.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());
    }

有什么想法吗?

0 个答案:

没有答案