文件上传控件获取文件名

本文关键字:获取 文件名 控件 文件 | 更新日期: 2023-09-27 18:32:41

下面两行有什么区别?他们做同样的事情,所以有什么区别吗?

string filename = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
string filename = FileUpload1.PostedFile.FileName;

文件上传控件获取文件名

第一个返回给定路径的文件名。第二个返回完整的路径名,包括目录路径

从 MSDN - 获取文件名:

string fileName = @"C:'mydir'myfile.ext";
string path = @"C:'mydir'";
string result;
result = Path.GetFileName(fileName);
Console.WriteLine("GetFileName('{0}') returns '{1}'", 
    fileName, result);
result = Path.GetFileName(path);
Console.WriteLine("GetFileName('{0}') returns '{1}'", 
    path, result);
// This code produces output similar to the following: 
// 
// GetFileName('C:'mydir'myfile.ext') returns 'myfile.ext' 
// GetFileName('C:'mydir'') returns ''

第一个从路径中获取文件名,但第二个将通过上传控件直接给出上传的文件名 PostedFile属性,其属性包含有关上传文件的信息,如名称,大小和扩展名。

我建议使用第二个,不需要 System.IO 因为控件具有返回文件名的属性。