开发者

Where are my $_FILES? Ajax Uploading

I've built a form to upload images, and processed with 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" />');


      }

     })



    });

The form itself sends the data to the server, but when I try to output print_r($_FILES['upload_file']); nothing appears, not even an empty array.

If I output print_r($_POST), the parameters are sent properly, but only the file name of the开发者_Python百科 image.

So it seems the files themselves are not being sent along. How do I handle this? Thanks Rich


I don't believe you can send files via ajax for security reasons. You'll have to post the form to an iframe and handle it from there.


You cannot use XHR to upload files.
You need either to use an IFRAME or flash/Java and such plugins of the browser.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜