1. 未选择文件

用户在提交表单时没有选择任何文件。如果没有文件被选中,FileName 属性将为空。


2. 表单未正确配置

确保你的 HTML 表单正确配置了文件上传。表单的 enctype 属性应该设置为 multipart/form-data。例如:

<form action="/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <button type="submit">Upload</button>
</form>

3. 文件控件的名称不匹配

确保你在服务器端代码中使用的文件控件的名称与 HTML 表单中的名称匹配。例如,如果表单中 <input type="file" name="file" />,在控制器中应该使用相同的名称来接收文件:

public ActionResult Upload(HttpPostedFileBase file)
{
    if (file != null)
    {
        string fileName = file.FileName;
        // 处理文件上传
    }
    return View();
}