将字节数组转换为System.Drawing.Image时出错

瑞吉思

我正在使用C#4.5 Framework和 MySql

MySqlDataReader reader = Command.ExecuteReader();

if (reader.Read())
{

   byte[] ReturnImage = reader["Photo"] as byte[];

   MemoryStream ms = new MemoryStream(ReturnImage);

   Image Photo = Image.FromStream(ms);  //Error is in this statement!! 
}

执行此stmt时,以下错误显示“参数无效”

我无法从网上找到答案。有人请帮助。

马克·格雷维尔(Marc Gravell)

这里最有可能的原因是,该内容longblob不是原始图像的字节数。与其绕圈子,第一件事就是:比较它们例如,您说(说)数据来自jpg文件(通过)OpenFileDialog在这种情况下,请比较它们检查您是否已成功存储和检索图像。

让我们假设有问题的文件是c:\Some\Photo.jpg-任何过程中都存储等。在这种情况下,您应该能够检查内容是否相同。在以下举报成功之前,所有赌注都关闭了

byte[] original = File.ReadAllBytes(@"c:\Some\Photo.jpg");
byte[] ReturnImage = reader["Photo"] as byte[];

if(Convert.ToBase64String(original) == Convert.ToBase64String(ReturnImage)) {
    Console.WriteLine("Success; the contents match");
} else {
    Console.WriteLine("Failure; the contents are different");
}

如果此报告“失败;内容不同”,则该错误最有可能是以下之一:

  • 您准备存储图像的代码(填充参数等)
  • 执行存储的存储过程
  • 从数据库取回图像的代码

如果此报告“成功;内容匹配”:那么,只有这样,查看尝试加载的代码才有意义Image在这种情况下,假设c:\Some\Photo.jpg在其他大多数图像加载工具加载(“漆”等) -那么它可能Image不承认的子格式。但是我的猜测是它会说“失败;内容不同”。

请注意,Convert.ToBase64String此处仅用作检查二进制等效项的惰性方法。您不会在生产代码中像这样使用它,但是这样做是很好的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字节数组转换为System.Drawing.Image时出错

来自分类Dev

将字节数组转换为PublicKey Java时出错

来自分类Dev

将int强制转换为字节数组时的C ++字节顺序

来自分类Dev

将int强制转换为字节数组时的C ++字节顺序

来自分类Dev

转换为字节数组时图像数据丢失

来自分类Dev

ScalaFX:如何将Image对象转换为字节数组

来自分类Dev

如何将pictureBox.Image转换为字节数组?

来自分类Dev

如何将pictureBox.Image转换为字节数组?

来自分类Dev

ScalaFX:如何将Image对象转换为字节数组

来自分类Dev

将int转换为字节数组时是否要屏蔽?

来自分类Dev

将DateTime转换为字节数组时C#和Java之间的区别

来自分类Dev

将int转换为字节数组时要屏蔽还是不屏蔽?

来自分类Dev

将DateTime转换为字节数组时C#和Java之间的区别

来自分类Dev

将字符串转换为字节数组并返回时,在字符串末尾的字符串“ System.Byte []”

来自分类Dev

在Java / Scala中将字节数组转换为字符串时修剪字节数组

来自分类Dev

将字节数组从Swift转换为Objective-C时应使用哪种数据类型

来自分类Dev

在JNI中将字节数组转换为float的向量时遇到错误

来自分类Dev

从字节数组转换为字符串时,它会添加空格

来自分类Dev

将类型转换为System.Drawing.Image

来自分类Dev

使用vb.net检索时,如何将Sql数据库的varchar值转换为字节数组

来自分类Dev

从image转换为base64,System.drawing.image

来自分类Dev

将System.Drawing.Icon转换为System.Windows.Controls.Image

来自分类Dev

将字节数组转换为字节串

来自分类Dev

类型'String'的值不能转换为'System.Drawing.Image'

来自分类Dev

如何将String格式的字节数组转换为字节数组?

来自分类Dev

将3维字节数组转换为单字节数组

来自分类Dev

将字节数组转换为位字节数组

来自分类Dev

将整数数组转换为字节数组

来自分类Dev

将流转换为字节数组

Related 相关文章

  1. 1

    将字节数组转换为System.Drawing.Image时出错

  2. 2

    将字节数组转换为PublicKey Java时出错

  3. 3

    将int强制转换为字节数组时的C ++字节顺序

  4. 4

    将int强制转换为字节数组时的C ++字节顺序

  5. 5

    转换为字节数组时图像数据丢失

  6. 6

    ScalaFX:如何将Image对象转换为字节数组

  7. 7

    如何将pictureBox.Image转换为字节数组?

  8. 8

    如何将pictureBox.Image转换为字节数组?

  9. 9

    ScalaFX:如何将Image对象转换为字节数组

  10. 10

    将int转换为字节数组时是否要屏蔽?

  11. 11

    将DateTime转换为字节数组时C#和Java之间的区别

  12. 12

    将int转换为字节数组时要屏蔽还是不屏蔽?

  13. 13

    将DateTime转换为字节数组时C#和Java之间的区别

  14. 14

    将字符串转换为字节数组并返回时,在字符串末尾的字符串“ System.Byte []”

  15. 15

    在Java / Scala中将字节数组转换为字符串时修剪字节数组

  16. 16

    将字节数组从Swift转换为Objective-C时应使用哪种数据类型

  17. 17

    在JNI中将字节数组转换为float的向量时遇到错误

  18. 18

    从字节数组转换为字符串时,它会添加空格

  19. 19

    将类型转换为System.Drawing.Image

  20. 20

    使用vb.net检索时,如何将Sql数据库的varchar值转换为字节数组

  21. 21

    从image转换为base64,System.drawing.image

  22. 22

    将System.Drawing.Icon转换为System.Windows.Controls.Image

  23. 23

    将字节数组转换为字节串

  24. 24

    类型'String'的值不能转换为'System.Drawing.Image'

  25. 25

    如何将String格式的字节数组转换为字节数组?

  26. 26

    将3维字节数组转换为单字节数组

  27. 27

    将字节数组转换为位字节数组

  28. 28

    将整数数组转换为字节数组

  29. 29

    将流转换为字节数组

热门标签

归档