如何在使用C#的控制台应用程序中使用 server.MapPath。我尝试了下面的代码,但无法找到我的PDF文件。请提供建议。
string[] pdf_file = System.IO.Directory.GetFiles(@"C:\Folder\" + fileName);
string[] pdf_file = System.IO.Directory.GetFiles(@"C:\Folder\" + fileName);
XmlDocument xmlDoc = new XmlDocument();
string path = Directory.GetCurrentDirectory() + "//XMLFile1.xml";
xmlDoc.Load(path);
XmlReader xmlReader = new XmlNodeReader(xmlDoc);
DataSet ds = new DataSet();
ds.ReadXml(xmlReader);
实际上,我们需要找到包含bin文件夹的应用程序目录,而我们的可执行文件位于bin/debug文件夹中。因此,我们可以使用Environment.CurrentDirectory
获取可执行文件路径,并从中提取我们的路径,如下所示:
string filepath = Environment.CurrentDirectory;
Console.WriteLine(filepath.Split(new String[] {"bin"}, StringSplitOptions.None)[0]);
检查"C:\Folder\"的安全访问详细信息。您应该授予用户组IIS_IUSRS读取权限。如果您想允许IIS能够将文件保存到此文件夹中,则还应授予写入访问权限。
Directory.GetFiles
返回符合你传递的参数模式的文件路径。 - tdragonGetFiles()
不接受文件名作为参数,您必须提供路径,例如:var pdfFiles = System.IO.Directory.GetFiles(@"C:\Folder");
如果您只想要PDF文件,则使用var pdfFiles = System.IO.Directory.GetFiles(@"C:\Folder", "*.pdf");
如果您想要特定的文件,则使用var pdfFiles = System.IO.Directory.GetFiles(@"C:\Folder", filename);
。但是我不明白最后一个的意义,如果您知道文件名,为什么要调用Directory.GetFiles()
? - Neil Humby