Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FileReader.readAsDataURL结果在Convert.FromBase64String中输入时返回格式异常_Javascript_Base64_Filereader - Fatal编程技术网

Javascript FileReader.readAsDataURL结果在Convert.FromBase64String中输入时返回格式异常

Javascript FileReader.readAsDataURL结果在Convert.FromBase64String中输入时返回格式异常,javascript,base64,filereader,Javascript,Base64,Filereader,我使用下面的代码将图像转换为base64编码字符串。在javascript的客户端网站上: var reader = new FileReader(); reader.onloadend = function () { data64 = reader.result; }; reader.readAsDataURL(myFile); 现在,我将此数据传递给服务器,服务器执行以下操作: var data =

我使用下面的代码将图像转换为base64编码字符串。在javascript的客户端网站上:

  var reader = new FileReader(); 
  reader.onloadend = function () {
                    data64 = reader.result;
                };

  reader.readAsDataURL(myFile);
现在,我将此数据传递给服务器,服务器执行以下操作:

 var data = Convert.FromBase64String(data64);
但是,这会导致格式异常:

s的格式无效。s包含非base-64字符、两个以上的填充字符或填充字符中的非空白字符

我的输入文件是在Windows 7->My Pictures/sample Pictures/Tulips.jpeg上找到的示例图像之一


如何尝试调试导致如此大的结果输出出现问题的原因

好的,我已经通过使用
reader.readAsBinaryString
解决了这个问题,然后使用
btoa
转换它


<>这似乎在<代码>转换中被接受了。从Base64字符串

我经历了同样的问题,并发现我的完整数据表不仅包含了结尾的填充字符,而且包含了数据中心中间的填充字符。 我使用以下代码修复base64string(但它仍然有一个bug):


尝试使用
*.png
图像。可能您的服务器只能接受
base64/png
private static string getCleanedBase64String(string base64String)
    {
        string tempString = base64String.Replace("_", "/").Replace("-", "+").Replace("=", "");
        return tempString + new string('=', (4 - tempString.Length % 4) % 4);
    }