📜  HttpPostedFileBase 读取 (1)

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

HttpPostedFileBase 读取

HttpPostedFileBase 是 ASP.NET MVC 中处理文件上传的关键类之一。它允许我们在程序中接收通过 HTTP POST 请求上传的文件。

示例

以下代码演示了如何通过 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");
    }
    else
    {
        return View();
    }
}

在上述代码中,我们可以看到 HttpPostedFileBase 函数被作为参数传递给了 Upload 动作方法。当用户用上传文件的表单提交请求时,这个方法会被执行,表单数据将作为参数传递给它。

用法

在上述示例代码中,我们接收文件的方式很简单,只需要声明 HttpPostedFileBase 类型的参数,并提供该参数名即可。上传的文件可以通过 ContentLength 属性来读取并判断文件的大小,通过 FileName 属性来获得文件的原始文件名。

一旦我们读取文件的信息,我们可以使用 SaveAs 方法来保存文件到硬盘上的一个指定目录中。在上述示例代码中,我们使用了 Server.MapPath 方法获取了应用程序的根目录并在其中创建了一个名为 Uploads 的文件夹来保存我们上传的文件。

注意事项

使用 SaveAs 方法时要谨慎,因为它会将文件保存到硬盘上,因此我们需要确保文件上传后不会对系统造成任何威胁。建议在保存文件时,使用一些验证措施来确保上传的文件是有效的并且不会给系统造成任何影响。