使用目录asp.net创建位图图像时无效的参数

时间:2015-08-24 16:51:43

标签: asp.net bitmap

我正在尝试逐个访问目录中的图像。 这是代码

string[] filesindirectory = Directory.GetFiles(("D:/Folder/32373577989/"));

    foreach (string item in filesindirectory)
    {
        Bitmap bitMapImage = new Bitmap(System.IO.Path.GetFileName(item));
    }

但是当我创建位图obj时它在循环内给出错误,它说“无效参数”。即使我检查了目录中文件的位置是正确的,但仍然显示错误。 请告诉我什么是错的。 提前谢谢

1 个答案:

答案 0 :(得分:3)

摆脱System.IO.Path.GetFileName电话:

foreach (string item in filesindirectory)
{
    Bitmap bitMapImage = new Bitmap(item);
}

GetFileName正在截断名称的完整路径,例如D:\Folder\234324234\1.png1.png。当你删除这样的路径时,它最有可能尝试通过进程的当前工作目录加载映像。

我还会考虑使用过滤器中的overload of GetFiles

现在您的代码正在提取所有文件,包括可能不是图像的隐藏文件,如Thumbs.db文件或desktop.ini文件 - Windows资源管理器内部用于存储有关目录的元数据的文件。 / p>