在C#中使用GetFiles()时如何定位相对文件路径?
我发现了一些相关的问题,但它们没有那么有效。映像名称是一个经过修改的GUID,如在C#中使用GetFiles()时如何定位相对文件路径?,c#,asp.net,visual-studio-2015,path,C#,Asp.net,Visual Studio 2015,Path,我发现了一些相关的问题,但它们没有那么有效。映像名称是一个经过修改的GUID,如3c6b4a9b-8e88-4c8e-93da-258acd2c964f_0,但扩展名未知(.jpg、.gif,…等)。GUID将来自gridview,因此它不是静态字符串。下面是我所拥有的,但我很难找到正确的工作路径 string fileName = `3c6b4a9b-8e88-4c8e-93da-258acd2c964f`; DirectoryInfo filePath = new Direc
3c6b4a9b-8e88-4c8e-93da-258acd2c964f_0
,但扩展名未知(.jpg、.gif,…等)。GUID将来自gridview,因此它不是静态字符串。下面是我所拥有的,但我很难找到正确的工作路径
string fileName = `3c6b4a9b-8e88-4c8e-93da-258acd2c964f`;
DirectoryInfo filePath = new DirectoryInfo(@"/Images");
MessageBox.Show(filePath.ToString());
FileInfo[] fileArray = filePath.GetFiles(fileName + "_0.*");
目录无效时不断出现问题。当前文件存储在我的c:驱动器上
如何在不硬编码的情况下获得相对路径?我使用的是DirectoryInfo(Server.MapPath(“Images”)暂时工作,然后开始出现此错误。ArgumentException:第二个路径片段不能是驱动器或UNC名称。似乎来自具有驱动器“C”的路径:但一旦站点启动,这似乎不是永久解决方案
实际路径是C:\Website\Name\Images\3c6b4a9b-8e88-4c8e-93da-258acd2c964f_0.jpg
谢谢 您使用了
filePath
作为GetFiles
的第一个参数,只需使用通配符并使用一个参数调用GetFiles
的重载即可
filePath.GetFiles("_0.*");
您使用了
filePath
作为GetFiles
的第一个参数,只需使用通配符并使用一个参数调用GetFiles
的重载
filePath.GetFiles("_0.*");
问题是,您正在为“C:\Images”获取
DirectoryInfo
您想使用Server.MapPath
获取网站中文件夹的物理路径(可以是任何驱动器上的任何位置)
使用~
意味着从正在运行的网站的根目录开始
因此,这应该可以做到:
string fileName = `3c6b4a9b-8e88-4c8e-93da-258acd2c964f`;
DirectoryInfo filePath = new DirectoryInfo(Server.MapPath("~/Images"));
FileInfo[] fileArray = filePath.GetFiles(fileName + "_0.*");
问题是,您正在为“C:\Images”获取
DirectoryInfo
您想使用Server.MapPath
获取网站中文件夹的物理路径(可以是任何驱动器上的任何位置)
使用~
意味着从正在运行的网站的根目录开始
因此,这应该可以做到:
string fileName = `3c6b4a9b-8e88-4c8e-93da-258acd2c964f`;
DirectoryInfo filePath = new DirectoryInfo(Server.MapPath("~/Images"));
FileInfo[] fileArray = filePath.GetFiles(fileName + "_0.*");
很抱歉,这是一个输入错误,应该是
fileName+“\u 0.*”
我将修复我问题中的代码。它确实修复了我遇到的部分错误。文件路径仍有问题。@MuffinMan-更新了答案以反映问题-检索到了错误的路径。希望可以解决。很抱歉,这是一个输入错误,应该是fileName+“\u 0.*”
我会解决问题中的代码。它确实修复了我遇到的部分错误。文件路径仍有问题。@MuffinMan-更新了答案以反映问题-检索到了错误的路径。希望可以解决。抱歉,这是一个输入错误,应该是fileName+“\u 0.*”
我将修复我问题中的代码。抱歉,这是一个输入错误,应该是fileName+“\u 0.*”
我将修复我问题中的代码。