从 c# 中的 OpenFileDialog 的 Foreach 中提取文件名

本文关键字:提取 文件名 Foreach 中的 OpenFileDialog | 更新日期: 2023-09-27 17:56:39

好的,我相信答案真的很容易。但在这里。

foreach (String file in openFileDialog1.FileNames)
{
    dm.UploadFile(DMIDENTITY, file, Path.GetExtension(openFileDialog1.FileName), Path.GetFileName(openFileDialog1.FileName));
    // for dev only..  MessageBox.Show(Path.GetFileName(openFileDialog1.FileName));
}

它以各自的路径遍历多个文件,但它们也作为链接引用放入数据库中。我只需要文件名而不是整个路径。但是,这样做只允许识别第一个文件名,然后无论有多少次都有文件,它都会将其放入。

就像我说的,我相信这是一个简单的问题。但我想我会向StackOverflow的神奇互联网向导提出:)

从 c# 中的 OpenFileDialog 的 Foreach 中提取文件名

遍历所有选定的文件是正确的。但是,您并没有在所有位置使用当前循环迭代的文件名,而是从 FileName 属性中提取扩展名和文件名 - 这当然是错误的。

您需要在引用当前循环迭代的所有位置引用文件名:

foreach (String file in openFileDialog1.FileNames)
{
    dm.UploadFile(DMIDENTITY, file, Path.GetExtension(file), Path.GetFileName(file));
    // for dev only..  MessageBox.Show(Path.GetFileName(file));
}