我花了一整天的时间浏览所有文章,并且几乎每次遇到的修复都没有运气,我知道有很多这些Base64问题,但没有一个帖子能够帮助我。所以这里什么都没有......
这是我的带有图像blob的JS,Blob是从websocket连接发送的。
var reader = new FileReader();
//// Closure to capture the file information.
reader.onload = (function (e) {
return function (e) {
var xhr = new XMLHttpRequest();
xhr.open('POST', '/Home/GetLicScan', true);
xhr.onload = function (e) {
var result = e.target.result;
};
xhr.send('{"blob":"' + e.target.result + '"}');
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
这是我的控制器
public JsonResult GetLicScan()
{
int counter = 0;
counter++;
byte[] data = Convert.FromBase64String(Request.ToString());
System.IO.File.WriteAllBytes(@"C:\Test" + counter + ".png", data);
return Json("success");
}
有关如何摆脱错误并将blog保存到image.png / jpg的一些指导将非常感激。
这是VS Exception,我确定有些人厌倦了阅读它... 发生了System.FormatException 的HResult = 0x80131537 Message =输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充字符中的非法字符。
答案 0 :(得分:0)
我想通了!!感谢所有试图提供帮助的人。
问题是“Request.ToString()”,我需要使用Stream和StreamReader。