【发布时间】:2014-03-16 04:04:34
【问题描述】:
我创建了本地服务器,它应该获取图像文件作为二进制数据并将它们作为图像保存在硬盘中。
Socket mySocket = myListener.AcceptSocket();
#region Connection Check
if (mySocket.Connected)
{
============
/* Some Code For Displaying Information*/
============
byte[] data = new byte[mySocket.ReceiveBufferSize];
int i = mySocket.Receive(data, data.Length, 0);
byteArrayToImage(data);
mySocket.Close();
}
byteArrayToImage 方法将字节数组转换为图像文件并保存在硬盘上,这是代码
public void byteArrayToImage(Byte[] data)
{
MemoryStream ms = new MemoryStream(data);
Image img = Image.FromStream(ms);
img.Save(@"C:\MyPersonalwebServer\ImageData\img.png", ImageFormat.Png);
}
但我在这里得到 ArgumentException:Image img = Image.FromStream(ms)
这里是data array的一部分:http://s43.radikal.ru/i101/1403/78/1913ab884790.png
任何想法如何解决它? 提前致谢。
【问题讨论】:
-
堆栈跟踪说明了什么?
-
异常信息是什么?
-
您的缓冲区大小不太可能包含完整的图像。
-
@MrDustpan 堆栈跟踪是什么?
-
@SLaks System.Drawing.dll 中出现“System.ArgumentException”类型的未处理异常附加信息:参数无效。
标签: c# bytearray localserver