尝试在 javascript 中将图像转换为 Base64 字符串并尝试在 C# 中转换为字节数组,给出 Invalid character in base64 string 错误
Trying to convert image to Base64 string in javascript and trying to convert to byte array in c#, gives Invalid character in base64 string error
我正在尝试按如下方式转换 javascript 中的文件输入图像;
function getBase64(file) {
let reader = new FileReader();
reader.readAsDataURL(file);
console.log(reader.result);
return reader.result;
}
将带有 json 的字符串发送到 Web 服务并尝试按如下方式转换为字节数组;
byte[] imageBytes = Convert.FromBase64String(base64string);
获取 base64 字符串中的无效字符错误。
转换后的字符串数组:pastebin converted string array
使用 readAsDataURL
方法时,result
包含一个 Data URL,它以 data:
架构为前缀。
来自MDN web docs:
Note: The file's result results in a string that cannot be directly decoded as Base64. To retrieve only the Base64 encoded string, you must remove data:*/*;base64,
from the string.
所以就像 Jonathon Chase 评论的那样,您必须在 Javascript 代码中删除架构的前缀,然后再将其发送到您的 C# Web 服务或在您的 Web 服务中。
我正在尝试按如下方式转换 javascript 中的文件输入图像;
function getBase64(file) {
let reader = new FileReader();
reader.readAsDataURL(file);
console.log(reader.result);
return reader.result;
}
将带有 json 的字符串发送到 Web 服务并尝试按如下方式转换为字节数组;
byte[] imageBytes = Convert.FromBase64String(base64string);
获取 base64 字符串中的无效字符错误。
转换后的字符串数组:pastebin converted string array
使用 readAsDataURL
方法时,result
包含一个 Data URL,它以 data:
架构为前缀。
来自MDN web docs:
Note: The file's result results in a string that cannot be directly decoded as Base64. To retrieve only the Base64 encoded string, you must remove
data:*/*;base64,
from the string.
所以就像 Jonathon Chase 评论的那样,您必须在 Javascript 代码中删除架构的前缀,然后再将其发送到您的 C# Web 服务或在您的 Web 服务中。