C# 如何获取带有名称和任何扩展名的图像?
我正在建立一个asp.net网站。我想在页面上显示图像,但虽然我知道图像名称,但不知道扩展名C# 如何获取带有名称和任何扩展名的图像?,c#,asp.net,javascript,html,vb.net,C#,Asp.net,Javascript,Html,Vb.net,我正在建立一个asp.net网站。我想在页面上显示图像,但虽然我知道图像名称,但不知道扩展名 因此,我想打开images目录,并通过其名称获取图像,无论其扩展名是什么。这并不是文件的工作原理——您需要知道整个名称。例如,如果有多个图像具有相同的基本名称和不同的扩展名,会发生什么情况?例如,比较foo.png和foo.jpg 一个建议是尝试对该目录中具有某个基名称的所有文件进行通配符搜索(bstoney的解决方案就是这样做的;)。如果你只找到一个匹配项,你就完蛋了。如果有多个匹配项,则需要制定规则
因此,我想打开images目录,并通过其名称获取图像,无论其扩展名是什么。这并不是文件的工作原理——您需要知道整个名称。例如,如果有多个图像具有相同的基本名称和不同的扩展名,会发生什么情况?例如,比较
foo.png
和foo.jpg
一个建议是尝试对该目录中具有某个基名称的所有文件进行通配符搜索(bstoney的解决方案就是这样做的;)。如果你只找到一个匹配项,你就完蛋了。如果有多个匹配项,则需要制定规则,确定哪一个匹配项获胜。文件的工作原理并非如此——您需要知道整个名称。例如,如果有多个图像具有相同的基本名称和不同的扩展名,会发生什么情况?例如,比较
foo.png
和foo.jpg
一个建议是尝试对该目录中具有某个基名称的所有文件进行通配符搜索(bstoney的解决方案就是这样做的;)。如果你只找到一个匹配项,你就完蛋了。如果您获得多个匹配项,则需要制定规则确定哪一个匹配项获胜。您可以使用目录对象获取目录中的文件列表
string imageFilename = System.IO.Directory.GetFiles( imageDirectory, name + ".*" ).First();
您可以使用Directory对象获取目录中的文件列表
string imageFilename = System.IO.Directory.GetFiles( imageDirectory, name + ".*" ).First();
你在这方面遇到了什么问题?你试了什么?发生什么事了?你在这件事的哪一部分遇到麻烦了?你试了什么?发生了什么?这几乎是一个口味的问题,但我宁愿使用'name+“*”,而不是concat函数。相同的最终结果,但更具可读性。它给了我以下错误:“System.ArgumentException:路径中的非法字符。”“System.ArgumentException:路径中的非法字符。”当您没有转义“\”字符时发生。请尝试“C:\\”或@“C:\”DJ Pirtu,string。Concat是一种习惯,我们的工作编码风格需要它。这几乎是一个品味问题,但是我宁愿使用'name+“*”,而不是concat函数。相同的最终结果,但更具可读性。它给了我以下错误:“System.ArgumentException:路径中的非法字符。”“System.ArgumentException:路径中的非法字符。”在未转义“\”字符时发生。请尝试“C:\”或@“C:\”DJ Pirtu,string。Concat是一种习惯,我们的工作编码风格需要它。