我有一个 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
(包括完整路径)而不是aFile.Name
(仅文件名)。如果命令没有按照您的预期运行,您应该查看文档。
或者,你可以让它更简单:
string dir1 = ConfigurationManager.AppSettings.Get("FilePath");
foreach(string aFile in Directory.EnumerateFiles(dir1))
{
message.Attachments.Add(new Attachment(aFile));
}
asDirectory.EnumerateFiles
只是返回完整的文件名,您必须考虑不这样做(例如,通过使用Path.GetFileName
)否则。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句