【发布时间】:2014-05-24 02:28:53
【问题描述】:
我已使用以下方法将字节数组写入内存流:
string filename = "C://a.jpg";
byte[] bytes = File.ReadAllBytes(filename);
string str = Convert.ToBase64String(bytes);
adapter.PublishPhoto(Message.Create(new MemoryStream(Convert.FromBase64String(str)), new ContentType("text/plain")), "", "");
现在我正在尝试使用
恢复字节数组var sr = new StreamReader(message.Body.Content); //message.Body.Content refers to the stream that I created.
var str = sr.ReadToEnd();
byte[] bytes = Convert.FromBase64String(str);
但它在运行时抛出此异常:输入不是有效的 Base-64 字符串,因为它包含非 base 64 字符、两个以上的填充字符或填充字符中的非法字符。
我该怎么办?
【问题讨论】:
-
在调试器中查看
str并找出导致它无效的 Base64 的原因是什么? -
您是否尝试将第一个代码中的 base64
str与第二个代码中的str进行比较?