在HTML表单中将enctype
设置为multipart/form-data
时,不会设置$_POST
个变量。变量是在没有enctype的情况下设置的,但必须是为了使用$ _FILES数组。是否有使用$_FILES
数组的替代方法?
错误报告:https://bugs.php.net/bug.php?id=26004
通过更新Apache可以修复错误,但是我希望在我采取这种做法之前找到可能的解决方法。
编辑:更新到最新版本的Apache后,问题仍然存在。
答案 0 :(得分:3)
当您将enctype设置为multipart/form-data
时,将填充$_POST
。
如果enctype不是$HTTP_RAW_POST_DATA
,您可以通过php://input
或multipart/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);
}