【问题标题】:System.Drawing.Bitmap Parameter is not validSystem.Drawing.Bitmap 参数无效
【发布时间】:2017-01-20 02:54:41
【问题描述】:

我遇到了这个错误:

参数无效。

在这一行:

System.Drawing.Bitmap("~\\father\\chocolate.png");

【问题讨论】:

  • 请显示完整代码。
  • 那不是一个有效的路径。您需要使用 ASP.Net API 来解析~

标签: c# asp.net


【解决方案1】:

"~\\father\\chocolate.png" 本身不太可能是一个有效的文件名 - 我怀疑你想首先将它从一个相对于 ASP.NET 的文件名映射到一个 真正的本地文件名。 p>

例如:

var bitmap = new Bitmap(Server.MapPath("~/father/chocolate.png"));

(我个人建议在这里使用正斜杠而不是反斜杠 - 它们在 Windows 下同样有效;它们在 Linux 下仍然有效;它们不需要转义。)

【讨论】:

    【解决方案2】:

    这个建议可能有点晚了,但为了其他人查看这篇文章:

    如果您在代码中的某处使用/打开图像,这可能是一个很好的理由。

    确保在完成后关闭所有内存流或图像对象的实例。

    我刚刚遇到这个错误,形式如下:一个 HttpException (0x80004005): Parameter is not valid.

    调试后我意识到处理图像与此错误有关。

    令人惊奇的是,虽然图像已经存储在我们的数据库中并且没有被使用,但该函数似乎保留了它。

    如果您已将 png 文件实例化为 Image 对象,请确保关闭所有 MemoryStream/Stream 对象并处置该图像(将其设置为空)并执行垃圾回收以将其从内存中释放。

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 2012-01-14
      • 2011-11-14
      • 1970-01-01
      相关资源
      最近更新 更多