在 C# 中解码 Javascript FileReader Base64
Decode Javascript FileReader Base64 in C#
我有以下 Javascript- 将文件转换为 base64 的代码:
File.prototype.convertToBase64 = function (callback) {
var FR = new FileReader();
FR.onload = function (e) {
callback(e.target.result)
};
FR.readAsDataURL(this);
}
示例输出为:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj [...] /j+vigYmLtYx9n0tGzJIyZKIzsYyRRWj0RfdWtCiQdF9rH8f18SMciL7X8DJMySJ8uC4JDRWjH8CEiitULVaMf68GQYn2PvskyciSs26tDWr0ooorsWi0WiFIei0Y/10QkQkWWXo+xaNjetdjHo9YlFdi1eiell6LRj/AGIshIUjcKRej1Ws
但是我不能用这个解码它:
byte[] data = Convert.FromBase64String(base64Image);
它说它无法识别数据的布局。如何在 C# 的 JS 中解码来自 FileReader 的 base64 数据?
感谢 Thomas,我找到了解决方案。
C#-解码器不喜欢header:data:image/jpeg;base64,
您可以使用以下短代码修复它:
int index = base64Image.IndexOf("base64,") + "base64,".Length;
string base64String = base64Image.Remove(0, index);
我有以下 Javascript- 将文件转换为 base64 的代码:
File.prototype.convertToBase64 = function (callback) {
var FR = new FileReader();
FR.onload = function (e) {
callback(e.target.result)
};
FR.readAsDataURL(this);
}
示例输出为:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj [...] /j+vigYmLtYx9n0tGzJIyZKIzsYyRRWj0RfdWtCiQdF9rH8f18SMciL7X8DJMySJ8uC4JDRWjH8CEiitULVaMf68GQYn2PvskyciSs26tDWr0ooorsWi0WiFIei0Y/10QkQkWWXo+xaNjetdjHo9YlFdi1eiell6LRj/AGIshIUjcKRej1Ws
但是我不能用这个解码它:
byte[] data = Convert.FromBase64String(base64Image);
它说它无法识别数据的布局。如何在 C# 的 JS 中解码来自 FileReader 的 base64 数据?
感谢 Thomas,我找到了解决方案。
C#-解码器不喜欢header:data:image/jpeg;base64,
您可以使用以下短代码修复它:
int index = base64Image.IndexOf("base64,") + "base64,".Length;
string base64String = base64Image.Remove(0, index);