PHP文件上传未发布文件数据

时间:2014-07-11 10:15:31

标签: php jquery ajax file-upload

之前尚未解决文件上传问题,但遇到了初步问题。

我已经有一个更新用户偏好的表单(电子邮件和选项的几个复选框)。

这完全正常,但我现在正在将个人资料图片添加到表单中。

表单如下:

<form class="updatepref" method="post" enctype="multipart/form-data">

    <input type="email" name="email">        

    <input type="file" name="upfile">

    <input type="submit" class="update" Value="Save Settings">

</form>

我通过ajax发布此数据:

$('.updatepref').submit(function(){
  $.ajax({
    type: "POST",
    url: "../process/updateuserpref.php",
    data: $('.updatepref').serialize(),
    dataType: "json",
    success: function(response){            
    }
  });
return false;
});

然后文件上传的PHP页面的开头是:

// Undefined | Multiple Files | $_FILES Corruption Attack
// If this request falls under any of them, treat it invalid.
if (
    !isset($_FILES['upfile']['error']) ||
    is_array($_FILES['upfile']['error'])
) {
    throw new RuntimeException('Invalid parameters.');
}

无论如何,我总是得到“无效参数”。错误信息。

怎么回事?可以ajax序列化文件上传吗?

当我签入发送的参数(使用firebug)时,它只显示电子邮件和任何勾选框等。文件未发布。

0 个答案:

没有答案