Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中从本地磁盘加载和检查映像#_C#_.net_Image - Fatal编程技术网

C# 在C中从本地磁盘加载和检查映像#

C# 在C中从本地磁盘加载和检查映像#,c#,.net,image,C#,.net,Image,我正在尝试从本地磁盘加载映像,它正在工作。但我的问题是,我想检查文件夹中是否有图像,如果没有,则检查MessageBox.Show(“无图像!”) 正在加载图像: Bitmap bitmap1 = new Bitmap(@"Documentation\\Pictures\\"+table[8]+".jpg"); pictureBox.Image=bitmap1; 您可以使用该方法检查给定文件是否存在: var file = Path.ChangeExtension(table[8], ".

我正在尝试从本地磁盘加载映像,它正在工作。但我的问题是,我想检查文件夹中是否有图像,如果没有,则检查MessageBox.Show(“无图像!”)

正在加载图像:

 Bitmap bitmap1 = new Bitmap(@"Documentation\\Pictures\\"+table[8]+".jpg");
 pictureBox.Image=bitmap1;
您可以使用该方法检查给定文件是否存在:

var file = Path.ChangeExtension(table[8], ".jpg");
var fullPath = Path.Combine(@"Documentation\Pictures", file);
if (!File.Exists(fullPath))
{
    MessageBox.Show("No image!");
}
else
{
    pictureBox.Image = new Bitmap(fullPath);
}
您可以使用该方法检查给定文件是否存在:

var file = Path.ChangeExtension(table[8], ".jpg");
var fullPath = Path.Combine(@"Documentation\Pictures", file);
if (!File.Exists(fullPath))
{
    MessageBox.Show("No image!");
}
else
{
    pictureBox.Image = new Bitmap(fullPath);
}

尝试使用
File.Exists
方法测试文件本身是否存在。 但是,请注意,在调用该方法和调用实际加载文件的方法之间,文件可能已经消失了。因此,尽管如此,还是应该使用异常处理


有关更多信息,请参阅。

尝试使用
File.Exists
方法测试文件本身是否存在。 但是,请注意,在调用该方法和调用实际加载文件的方法之间,文件可能已经消失了。因此,尽管如此,还是应该使用异常处理

有关更多信息,请参阅。

试试这个

string fileName = string.Format(@"Documentation\\Pictures\\{0}.jpg",table[8]);
if(!File.Exists(fileName))
{
MessageBox.Show("No Image");
}
else
{
Picture1.Image = Image.FromFile(fileName);
}
试试这个

string fileName = string.Format(@"Documentation\\Pictures\\{0}.jpg",table[8]);
if(!File.Exists(fileName))
{
MessageBox.Show("No Image");
}
else
{
Picture1.Image = Image.FromFile(fileName);
}

ASP.NET
中,最好是
Server.MapPath(“文档/图片”)
否则它将在Windows的系统文件夹中查找文件:)@影子向导,是的,当然,事实上在ASP.NET中它应该是:
Server.MapPath(“~/Documentation/Pictures”)
@shadowwizard,你在说什么ASPX?在OP中看不到关于ASP.NET的任何引用。更不用说
pictureBox
和ASP.NET了,嗯…@Darin:你能详细说明一下为什么要使用Path.ChangeExtension吗?有什么特别的原因吗?@Sergio,这样更安全,我在处理诸如Path.Combine、Path.ChangeExtension等文件时总是使用特定于文件的函数。。。而不是字符串连接。例如,如果
表[8]
以点(
)结尾,该函数将正确处理该情况,而如果使用字符串连接,则可以以
foo..jpg
结尾。在
ASP.NET
中,最好是
Server.MapPath(“文档/图片”)
否则它将在Windows的系统文件夹中查找文件:)@影子向导,是的,当然,事实上在ASP.NET中它应该是:
Server.MapPath(“~/Documentation/Pictures”)
@shadowwizard,你在说什么ASPX?在OP中看不到关于ASP.NET的任何引用。更不用说
pictureBox
和ASP.NET了,嗯…@Darin:你能详细说明一下为什么要使用Path.ChangeExtension吗?有什么特别的原因吗?@Sergio,这样更安全,我在处理诸如Path.Combine、Path.ChangeExtension等文件时总是使用特定于文件的函数。。。而不是字符串连接。例如,如果
表[8]
以点(
)结尾,函数将正确处理该情况,而如果使用字符串连接,则可能以
foo..jpg
结尾。不应将
@
\
组合。还应验证文件名是否为Picutre.png,但它不是Picutre,搜索特定的异常!使用
@
符号时,可以使用与资源管理器上显示的路径相同的路径。您不必再逃避斜杠。您不应该将
@
\\
组合。您还应该验证文件名是否为Picutre.png,但它不是Picutre,搜索特定的异常!使用
@
符号时,可以使用与资源管理器上显示的路径相同的路径。你再也不必逃避刀砍了。