我需要将每个文件上传到我们的文件管理系统。我正在尝试创建一个循环来访问每个PDF文件,然后执行上载。我最终陷入了混乱。有任何提示如何正确执行吗?
这是我的烂摊子
string filepath = Path.GetFullPath(@"C:\temp\");
DirectoryInfo d = new DirectoryInfo(filepath);
var pdfPath = @"C:\temp\";
var pdfFiles = new DirectoryInfo("C:\\temp\\").GetFiles("*.pdf");
var PdfFilename = pdfFiles[0].Name;
var destinationFile = pdfPath + PdfFilename;
foreach (var file in d.GetFiles("*.pdf"))
{
// Rest of the code goes here
}
编辑:
通过此代码:
DirectoryInfo d = new DirectoryInfo(@"c:\temp");
foreach (var file in d.GetFiles("*.pdf"))
{
// Rest of the code goes here
Console.WriteLine(file.FullName);
}
我正在获取每个文件的完整路径,例如C:\temp\Power EMC Brochure.pdf
。以后如何在循环中获取每个文件的名称?我的意思是我需要从完整路径中剪切每个文件的名称,例如Power EMC Brochure
作为要为我们的文件管理系统指定的文件名。
是这样吗?
DirectoryInfo d = new DirectoryInfo(@"c:\temp");
foreach (var file in d.GetFiles("*.pdf"))
{
// Rest of the code goes here
Console.WriteLine(file.FullName);
file.Name;
}
答案 0 :(得分:0)
简单
var newQuery = from source in SourceDrawingLayers
join target in TargetDrawingLayers
on target.name
where target.OnOff != source.OnOff
select target;
DirectoryInfo.GetFiles返回一组FileInfo对象,这些对象的FullName是带有路径的完整文件名。因此,您无需再次将源路径与文件名合并即可形成执行上传所需的字符串。
如果您需要有关文件的更多详细信息,只需查看FileInfo class提供的属性,您还可以在其中找到
DirectoryInfo d = new DirectoryInfo(@"c:\temp");
foreach (var file in d.GetFiles("*.pdf"))
{
// Rest of the code goes here
Console.WriteLine(file.FullName);
}