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

时间:2019-02-06 21:53:43

标签: javascript c# base64 converters

我正在尝试如下转换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

Image I am trying to convert

1 个答案:

答案 0 :(得分:1)

使用Sub Selections() If Selection.Rows.Count <> 8 Or Selection.Columns.Count <> 1 Then MsgBox "Error Message Here" Exit Sub End If Selection.Resize(, 4).Copy With Worksheets("Sheet1") .Range("B7").PasteSpecial xlPasteValues .Range("B27").PasteSpecial xlPasteValues .Range("B47").PasteSpecial xlPasteValues End With 'More code here.... End Sub 方法时,readAsDataURL包含一个Data URL,其前缀为result模式。

来自MDN web docs

  

注意:文件的结果导致无法直接将其解码为Base64的字符串。要仅检索Base64编码的字符串,必须从字符串中删除data:

因此,就像乔纳森·蔡斯(Jonathon Chase)所说的那样,您必须先在Javascript代码中删除模式的前缀,然后再将其发送到C#Web服务或Web服务中。