【发布时间】:2017-01-20 02:54:41
【问题描述】:
我遇到了这个错误:
参数无效。
在这一行:
System.Drawing.Bitmap("~\\father\\chocolate.png");
【问题讨论】:
-
请显示完整代码。
-
那不是一个有效的路径。您需要使用 ASP.Net API 来解析
~。
我遇到了这个错误:
参数无效。
在这一行:
System.Drawing.Bitmap("~\\father\\chocolate.png");
【问题讨论】:
~。
"~\\father\\chocolate.png" 本身不太可能是一个有效的文件名 - 我怀疑你想首先将它从一个相对于 ASP.NET 的文件名映射到一个 真正的本地文件名。 p>
例如:
var bitmap = new Bitmap(Server.MapPath("~/father/chocolate.png"));
(我个人建议在这里使用正斜杠而不是反斜杠 - 它们在 Windows 下同样有效;它们在 Linux 下仍然有效;它们不需要转义。)
【讨论】:
这个建议可能有点晚了,但为了其他人查看这篇文章:
如果您在代码中的某处使用/打开图像,这可能是一个很好的理由。
确保在完成后关闭所有内存流或图像对象的实例。
我刚刚遇到这个错误,形式如下:一个 HttpException (0x80004005): Parameter is not valid.
调试后我意识到处理图像与此错误有关。
令人惊奇的是,虽然图像已经存储在我们的数据库中并且没有被使用,但该函数似乎保留了它。
如果您已将 png 文件实例化为 Image 对象,请确保关闭所有 MemoryStream/Stream 对象并处置该图像(将其设置为空)并执行垃圾回收以将其从内存中释放。
希望这会有所帮助!
【讨论】: