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.
精彩评论