【问题标题】:Multiple file upload without full path没有完整路径的多个文件上传
【发布时间】:2016-03-02 10:05:26
【问题描述】:

我正在尝试上传多个文件并获取它们的文件名。 当我尝试这样做时,它只会上传一个文件。

所以它会使用完整路径上传文件(并且可以正常工作)。

private void bChooseFolder_Click(object sender, EventArgs e)
{
    CoreClass.OPENDIALOG.Multiselect = true;
    string oldFilter = CoreClass.OPENDIALOG.Filter;
    CoreClass.OPENDIALOG.Filter = "(*.csv) | *.csv";

    if (CoreClass.OPENDIALOG.ShowDialog() == DialogResult.OK)
        tbFolderPath.Text = string.Join(FileSeperator, CoreClass.OPENDIALOG.FileNames);// <-- this works, but here I get the full path

    CoreClass.OPENDIALOG.Filter = oldFilter;
    CoreClass.OPENDIALOG.Multiselect = false;
}

所以我只得到文件名,但它只上传一个文件:

private void bChooseFolder_Click(object sender, EventArgs e)
{
    CoreClass.OPENDIALOG.Multiselect = true;
    string oldFilter = CoreClass.OPENDIALOG.Filter;
    CoreClass.OPENDIALOG.Filter = "(*.csv) | *.csv";

    if (CoreClass.OPENDIALOG.ShowDialog() == DialogResult.OK)
        tbFolderPath.Text = string.Join(FileSeperator, System.IO.Path.GetFileNameWithoutExtension(CoreClass.OPENDIALOG.FileName)); // <-- Doesn't work. Just one File.

    CoreClass.OPENDIALOG.Filter = oldFilter;
    CoreClass.OPENDIALOG.Multiselect = false;
}

【问题讨论】:

    标签: c# visual-studio file-upload multifile-uploader


    【解决方案1】:

    好的,如果您正在开发 WinForms 应用程序,那么您正在使用包含 2 个属性的 OpenFileDialog

    • FileName 获取或设置包含在文件对话框中选择的文件名的字符串。
    • FileNames获取对话框中所有选中文件的文件名。

    那么第一个永远不会包含很少的文件,您应该只在Multiselect = false; 模式下使用它。

    如果您需要在一个文本框中显示所有文件名,则可以使用String.Join 方法和LINQ 枚举集合并获取每个元素的不带扩展名的文件名:

    if (CoreClass.OPENDIALOG.ShowDialog() == DialogResult.OK)
        tbFolderPath.Text = string.Join(FileSeperator, CoreClass.OPENDIALOG.FileNames.Select(x => System.IO.Path.GetFileNameWithoutExtension(x)).ToArray()); // <-- Doesn't work. Just one File.
    

    【讨论】:

    • 然后我得到一个错误:参数 1: cannot convert "string[]" to string
    • @Tomi 我扩展了我的答案
    猜你喜欢
    • 1970-01-01
    • 2013-11-24
    • 2016-11-26
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2016-03-13
    • 2012-07-13
    • 2013-06-29
    相关资源
    最近更新 更多