【发布时间】:2011-02-06 20:26:41
【问题描述】:
我已经构建了一个表单来上传图片,并使用 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对象通过 AJAX 上传。该方法使用方便,目前Chrome、Safari、Firefox均支持。
标签: php ajax upload prototypejs