C# 找不到正确的文件路径
C# not finding correct file path
我有一个 C# 控制台应用程序,它通过电子邮件发送 Excel 电子表格附件。
我已经在App.config
中给出了文件路径。在尝试查找文件时,代码会查看正确的位置。但是当试图在 foreach
语句中附加文件时,它会在代码的 bin
文件夹中查找。
我做错了什么?
DirectoryInfo dir1 = new DirectoryInfo(ConfigurationManager.AppSettings.Get("FilePath"));
FileInfo[] folderFiles = null;
folderFiles = dir1.GetFiles();
foreach (FileInfo aFile in folderFiles)
{
message.Attachments.Add(new Attachment(aFile.Name));
}
您需要使用 aFile.FullName
(includes the full path) rather than aFile.Name
(仅文件名)。如果命令没有按照您的预期执行,您应该检查文档。
或者,您可以使其更简单:
string dir1 = ConfigurationManager.AppSettings.Get("FilePath");
foreach(string aFile in Directory.EnumerateFiles(dir1))
{
message.Attachments.Add(new Attachment(aFile));
}
as Directory.EnumerateFiles
只是 returns 完整的文件名,您将不得不考虑不这样做(例如,通过使用 Path.GetFileName
)否则。
我有一个 C# 控制台应用程序,它通过电子邮件发送 Excel 电子表格附件。
我已经在App.config
中给出了文件路径。在尝试查找文件时,代码会查看正确的位置。但是当试图在 foreach
语句中附加文件时,它会在代码的 bin
文件夹中查找。
我做错了什么?
DirectoryInfo dir1 = new DirectoryInfo(ConfigurationManager.AppSettings.Get("FilePath"));
FileInfo[] folderFiles = null;
folderFiles = dir1.GetFiles();
foreach (FileInfo aFile in folderFiles)
{
message.Attachments.Add(new Attachment(aFile.Name));
}
您需要使用 aFile.FullName
(includes the full path) rather than aFile.Name
(仅文件名)。如果命令没有按照您的预期执行,您应该检查文档。
或者,您可以使其更简单:
string dir1 = ConfigurationManager.AppSettings.Get("FilePath");
foreach(string aFile in Directory.EnumerateFiles(dir1))
{
message.Attachments.Add(new Attachment(aFile));
}
as Directory.EnumerateFiles
只是 returns 完整的文件名,您将不得不考虑不这样做(例如,通过使用 Path.GetFileName
)否则。