Creé un formulario para cargar imágenes y lo procesé con 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" />');
}
})
});
el propio formulario envía los datos al servidor, pero cuando trato de salida aparece print_r($_FILES['upload_file']);
nada, ni siquiera una matriz vacía.
Si imprimo print_r($_POST)
, los parámetros se envían correctamente, pero solo el nombre de archivo de la imagen.
Parece que los archivos en sí no se envían. ¿Cómo manejo esto? Gracias Rich
Para el registro, es posible cargar a través de AJAX utilizando el objeto ['FormData'] (https://developer.mozilla.org/en/XMLHttpRequest/FormData). El método es fácil de usar y actualmente es compatible con Chrome, Safari y Firefox. –