C# 在C中从本地磁盘加载和检查映像#
我正在尝试从本地磁盘加载映像,它正在工作。但我的问题是,我想检查文件夹中是否有图像,如果没有,则检查MessageBox.Show(“无图像!”) 正在加载图像: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], ".
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,搜索特定的异常!使用@
符号时,可以使用与资源管理器上显示的路径相同的路径。你再也不必逃避刀砍了。