使用带有$ _POST变量的enctype =“multipart / form-data”时出现问题

时间:2011-10-14 01:24:23

标签: php html forms post encoding

在HTML表单中将enctype设置为multipart/form-data时,不会设置$_POST个变量。变量是在没有enctype的情况下设置的,但必须是为了使用$ _FILES数组。是否有使用$_FILES数组的替代方法?

错误报告:https://bugs.php.net/bug.php?id=26004

通过更新Apache可以修复错误,但是我希望在我采取这种做法之前找到可能的解决方法。

编辑:更新到最新版本的Apache后,问题仍然存在。

2 个答案:

答案 0 :(得分:3)

当您将enctype设置为multipart/form-data时,将填充$_POST

如果enctype不是$HTTP_RAW_POST_DATA,您可以通过php://inputmultipart/form-data访问数据,这可能是您访问数据的替代方法。

答案 1 :(得分:0)

可能会file_uploads被停用,请检查php.ini

是否启用了file_uploads = On
   public ActionResult Index()
    {

       return View();
    }

    [HttpPost]
    public ActionResult FileUpload(HttpPostedFileBase file)
    {
        Debug.WriteLine(file.FileName)
        if (file != null)
        {
             var fileName = Path.GetFileName(file.FileName);
             pathName = Path.Combine(Server.MapPath("~/Content/Images"), fileName);
             file.SaveAs(pathName);
         }

        Debug.WriteLine("resultx action");
        return View("ResultX",text);

     }