📜  HttpPostedFileBase (1)

📅  最后修改于: 2023-12-03 15:01:20.342000             🧑  作者: Mango

HttpPostedFileBase

HttpPostedFileBase 是一个 ASP.NET MVC中的类,通过它我们可以轻松的对HTTP文件进行操作。它是对服务器上上传的文件进行操作时的主要工具。它包含了以下几个属性:

  • ContentLength - 文件的大小,以字节为单位
  • ContentType - 文件的类型
  • FileName - 客户端文件名
  • InputStream - 表示上传文件的流
使用示例

以下是一个简单的使用 HttpPostedFileBase 的示例,展示它如何被用于上传一个文件:

[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/uploads"), fileName);
        file.SaveAs(path);
    }
    return RedirectToAction("Index");
}

在上面的代码中,我们首先检查文件是否为null并且文件大小是否大于0,这样可以在上传文件之前执行一些必要的验证。然后我们提取出客户端指定的文件名和服务器可用的路径,最后使用 SaveAs 方法将文件保存到该路径中。

注意事项
  • 强烈建议不要使用 HttpPostedFile 类,该类已经被弃用了,使用 HttpPostedFileBase 来替代它。
  • 客户端文件名并不是文件路径,因为路径中可能存在不支持的字符或符号。
  • SaveAs 方法只能用于保存单个文件,如果需要上传和保存多个文件,需要自己处理。
  • 如果上传的文件很大,请确保在服务器上启用了大型文件上传。