J'ai créé un formulaire pour télécharger des images et les traiter avec 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" />');
}
})
});
Le formulaire lui-même envoie les données au serveur, mais lorsque je tente de sortie print_r($_FILES['upload_file']);
rien ne semble, pas même un tableau vide.
Si je produis print_r($_POST)
, les paramètres sont envoyés correctement, mais seulement le nom de fichier de l'image.
Il semble donc que les fichiers eux-mêmes ne sont pas envoyés. Comment puis-je gérer cela? Merci Rich
Pour mémoire, il est possible de télécharger via AJAX en utilisant l'objet ['FormData'] (https://developer.mozilla.org/en/XMLHttpRequest/FormData). La méthode est facile à utiliser et actuellement supportée par Chrome, Safari et Firefox. –