如何在.Net Controller中接收ArrayBuffer



我正在尝试从react native向.Net webApi发送图像,我将图像的base64转换为二进制,如下所示:

let buffer = new ArrayBuffer(value.length * 2);
let view = new Uint16Array(buffer);
for (let i = 0; i < value.length; ++i) {
view[i] = value.charCodeAt(i);
}
return buffer;

然后把它发送到API,但是我得到这个错误

请求在操作筛选器"Microsoft.AspNetCore.Mvc.Infrastructure.ModelStateInvalidFilter"处短路

我的型号是:

public partial class DPerson
{
public Person person { get; set; } = new Person();
public byte[]? pImage { get; set; }
}

看起来modelState无效,无法将ArrayBuffer配置为字节数组,

整个想法是在前面进行所有转换,并在后面的中保存计算

顺便说一句,当我把FRONT和BACK中的类型都改为string时,它就起了作用!!!!

为什么不将字节数组保留在base64中,这样就可以将pImage作为字符串而不是字节数组发送?

如果您想让字节数组回到服务器端,请查看Encoding类。

最新更新