我正在做一个接收图像的C#Web服务肥皂。 我发送一个包含字节字符的字符串。 我在byte []中转换字符串,接下来我想创建Bitmap。
行Bitmap img = new Bitmap(ms);
生成异常:无效参数。
我在ms对象中有一个错误:System.InvalidOperationException
值包含正确的字符串,imgBytes包含良好的销售数量。
public string GetImage(string value)
{
byte[] imgBytes = Encoding.ASCII.GetBytes(value);
MemoryStream ms = new MemoryStream(imgBytes, true);
Bitmap img = new Bitmap(ms);
感谢您的帮助。
答案 0 :(得分:1)
看起来您的字符串包含base64编码数据。尝试通过Convert.FromBase64String
答案 1 :(得分:0)
我有类似的问题。基本上你写入你的内存流(在构造函数中),位置指针在末尾。因此,在重用内存流之前,您可以尝试将其位置指针设置为开头。像这样:
return Redirect($"{Url.RouteUrl(new { controller = "MyController", action = "Index" })}#anchor");
或更一般的方法:
transpose
希望这能解决您的问题。
<强>更新强> 我认为@heinbeinz的答案也很重要:首先从正确的编码中解码你的字符串(通常是base64),然后设置位置。