尝试在javascript中将图像转换为Base64字符串并尝试在c#中将其转换为字节数组时,Base64字符串中出现无效字符错误
我试图用javascript转换一个文件输入图像,如下所示尝试在javascript中将图像转换为Base64字符串并尝试在c#中将其转换为字节数组时,Base64字符串中出现无效字符错误,javascript,c#,base64,converters,Javascript,C#,Base64,Converters,我试图用javascript转换一个文件输入图像,如下所示 function getBase64(file) { let reader = new FileReader(); reader.readAsDataURL(file); console.log(reader.result); return reader.result; } byte[] imageBytes = Convert.FromBase64String(base64string); 将带有j
function getBase64(file) {
let reader = new FileReader();
reader.readAsDataURL(file);
console.log(reader.result);
return reader.result;
}
byte[] imageBytes = Convert.FromBase64String(base64string);
将带有json的字符串发送到Web服务,并尝试转换为字节数组,如下所示:
function getBase64(file) {
let reader = new FileReader();
reader.readAsDataURL(file);
console.log(reader.result);
return reader.result;
}
byte[] imageBytes = Convert.FromBase64String(base64string);
获取base64字符串中的无效字符时出错
转换的字符串数组:
使用
readAsDataURL
方法时,结果
包含一个前缀为数据:
架构的
发件人:
注意:文件的结果产生一个不能直接解码为Base64的字符串。要仅检索Base64编码的字符串,必须删除数据://*;base64,
从字符串中删除
因此,正如Jonathon Chase所评论的,在将模式发送到C#web服务或web服务之前,您必须删除Javascript代码中的模式前缀。
Convert.FromBase64String(base64string.Substring(base64string.IndexOf(',')+1))
应该删除数据url前缀并正确转换。