在ASP.NET Core中,使用asp-for
指令绑定字节数组时,默认情况下会使用Base64编码。以下是如何解码Base64编码的字节数组的示例代码:
首先,在视图中使用asp-for
指令绑定字节数组:
然后,在处理HTTP POST请求的控制器方法中,将接收到的Base64编码的字节数组解码为实际的字节数组:
[HttpPost]
public async Task Upload(MyModel model)
{
if (model.FileData != null && model.FileData.Length > 0)
{
// 解码Base64编码的字节数组
byte[] fileBytes = Convert.FromBase64String(model.FileData);
// 将字节数组保存到磁盘或进行其他处理
// ...
return Ok("文件上传成功!");
}
return BadRequest("未选择文件!");
}
在上述示例中,MyModel
是一个包含FileData
属性的模型类。FileData
属性是一个Base64编码的字符串。
通过调用Convert.FromBase64String()
方法,可以将Base64编码的字节数组解码为实际的字节数组。然后,可以根据需要将字节数组保存到磁盘或进行其他处理。
请注意,上述示例仅演示了如何解码Base64编码的字节数组。实际应用中,可能还需要进行其他验证和处理,例如验证文件类型、大小等。