【问题标题】:Error: Parameter is not valid. Converting byte array to image with Image.FromStream错误:参数无效。使用 Image.FromStream 将字节数组转换为图像
【发布时间】:2015-04-07 13:26:35
【问题描述】:
    private bool IsValidImage(byte[] bytes)
    {
        try
        {
            using (MemoryStream ms = new MemoryStream(bytes))
                Image.FromStream(ms, true, true);
        }
        catch (ArgumentException)
        {
            return false;
        }
        return true;
    }

谁能告诉我我做错了什么?当实际的字节数组是图像时,这可以正常工作。但是当我传入另一种类型的文件时,比如 docx 或 xlsx,我会在 FromStream 上收到“参数无效”的运行时错误。异常也不会在 catch 块中捕获。如果 FromStream 抛出 ArgumentException,它应该会被 catch 块捕获,对吧?

【问题讨论】:

  • 尝试调试你的代码并检查你是否得到了值

标签: c# asp.net bytearray filestream


【解决方案1】:

只能从存储在内存流中的图像创建图像。如果您存储例如一个“.docx”-文件,无法从中创建图像。

【讨论】:

  • 那么异常不应该被我的catch块捕获吗?我如何实现我想要做的事情?我不提前知道字节数组是否会成为图像。
猜你喜欢
  • 2012-02-09
  • 2013-07-14
  • 1970-01-01
  • 2018-08-10
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 2015-08-16
  • 2013-05-19
相关资源
最近更新 更多