尝试在javascript中将图像转换为Base64字符串并尝试在c#中将其转换为字节数组时,Base64字符串中出现无效字符错误

尝试在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

我试图用javascript转换一个文件输入图像,如下所示

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前缀并正确转换。