我正在尝试创建上传文件按钮,但是每当我尝试使用文件时,都会收到错误"Empty path name is not legal"



每次我单击文件时,我都会获得错误

空的路径名不合法

我需要一个用户上传.txt.csv文件,并在数据网格视图中显示该文件的内容。一切正常,除了在此行上发生的一个错误:

var sr = new StreamReader(openFileDialog1.FileName);

完整代码。

private void selectButton_Click (object sender, EventArgs e)
{
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        try
        {
            var sr = new StreamReader(openFileDialog1.FileName);
            SetText(sr.ReadToEnd());
        }
        catch (SecurityException ex)
        {
            MessageBox.Show($"Security error.nnError message{ex.Message}nn" +
                $"Details:nn{ex.StackTrace}");
        }
    }
}

尝试在openfiledialog1上添加过滤器。

openFileDialog1.Filter = "text file(*.txt)|*.txt|csv file(*.csv)|*.csv";

在打开文件之前检查文件名:

if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        if (string.IsNullOrEmpty(openFileDialog1.FileName) {
            // ..
            return; 
        }
        try
        {
            var fileStream = openFileDialog1.OpenFile();
            using (StreamReader reader = new StreamReader(fileStream))
            {
                SetText(sr.ReadToEnd());
            }       
        }
        catch (SecurityException ex)
        {
            MessageBox.Show($"Security error.nnError message{ex.Message}nn" +
                $"Details:nn{ex.StackTrace}");
        }
    }

最新更新