我已经构建了一个表单来上传图片,并使用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" />');
}
})
});
窗体本身的数据发送到服务器,但是当我试图输出出现print_r($_FILES['upload_file']);
什么都没有,甚至没有一个空数组。
如果我输出print_r($_POST)
,参数发送正常,但只有图像的文件名。
所以看来文件本身并没有被发送。 我该如何处理? 谢谢 丰富
为了记录,可以使用['FormData'](https://developer.mozilla.org/en/XMLHttpRequest/FormData)对象通过AJAX上传。该方法易于使用,目前由Chrome,Safari和Firefox支持。 – 2011-12-27 21:26:25