我的$ _FILES在哪里?Ajax上传

Ric*_*ani 6 php ajax upload prototypejs

我已经构建了一个表单来上传图像,并使用Prototype/PHP进行处理.

$('image_upload').observe('submit', function() {

     var params = $H();
     params.set('name', $('image_title').value);
     params.set('from', $('from_who').value);
     params.set('upload_file', $('upload_file').value);

     new Ajax.Request('/files/upload_process.php', {
      method:'post',
      parameters: params,

      onSuccess: function(r) {
       $('uploadbox').update('<img src="/images/interface/thankyou.png" />');


      }

     })



    });
Run Code Online (Sandbox Code Playgroud)

表单本身将数据发送到服务器,但是当我尝试输出时,print_r($_FILES['upload_file']);没有任何内容出现,甚至没有空数组.

如果我输出print_r($_POST),参数将正确发送,但只发送图像的文件名.

所以似乎文件本身并没有被发送.我该如何处理?谢谢Rich

Mik*_*e B 5

我不相信你可以出于安全原因通过ajax发送文件.您必须将表单发布到iframe并从那里处理它.