繁体   English   中英

如何将 javascript jpeg 字符串图像转换为 C# 图像字节?

[英]How can I convert javascript jpeg string image to C# image bytes?

我正在使用 javascript FileReader() 在 React Front-end App 中读取图像内容作为

return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = e => resolve(e.target.result);
    reader.onerror = reject;   
    reader.readAsDataURL(file);   // file is a jpeg file
  });

现在,我想传递这个图像字符串 C# SDK,它接受表单的图像数据字节

var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
var buffer = new byte[fileStream.Length];
fileStream.Read(buffer, 0, buffer.Length);
fileStream.Close();

如何转换图像字符串? 我已经尝试通过删除初始图像格式填充为

Face= Face.Replace("data:image/jpeg;base64,", string.Empty);

然后将 Face 传递给字节缓冲区作为

byte[] buffer = Encoding.UTF8.GetBytes(Face); //also tried Convert.FromBase64String(Face);

首先,您需要使用Convert.FromBase64String解码 Base64 字符串。 然后,您可以使用某种图像库从生成的字节数组中加载图像。

示例(尚未测试):

Face = Face.Replace("data:image/jpeg;base64,", string.Empty);
byte[] FaceBytes = Convert.FromBase64String(Face);
using (var ms = new MemoryStream(FaceBytes ))
{
    var image = Image.FromStream(ms);
    // Do something with image
}

或者您可以简单地将FaceBytes数组用于您需要的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM