开始之前,请注意,我必须更新一个不属于我的网站,因此我无法重做整个逻辑。如果我这样做,我会做不同的事情。使用PHP通过ajax上传文件
我有一个cakephp应用程序,有很多字段的窗体。在此表单中,您可以浏览文件并将其保存为异步。下面是它是如何做:
<input type="file" name="data[FileUpload][file]" id="myFileToUpload">
<a id="pickFile" href="#">Upload Now</a>
<script type="text/javascript">
$('#pickFile').click(function (e) {
e.preventDefault();
$.post(
"/admin/FileUploads/saveFromFlash/<?php e($session->id()) ?>", {
data: $("#myFileToUpload").val()
}, function (data) {
$("#returnedContentFromAjax").html(JSON.stringify(data));
},
"json");
});
</script>
称为主要功能做到这一点:
$this->FileUpload->save($this->data)
但这始终返回false和“没有上传过”。下面是一个创建错误消息的行:
if (!isset($this->data['FileUpload']['file'])) {
$this->setUploadError('No upload passed');
return false;
}
我不知道如何发送这种“$这 - >数据[‘文件上传’] [‘文件’]”通过AJAX ......我想这是关键的问题,因为我不知道在这里可以通过什么对象:
{ data:$("#myFileToUpload").val() },
我一直在这一切晚上,任何帮助将不胜感激
#myFileToUpload是一个INPUT type =“FILE”元素?你不能从javascript访问文件的内容。看看这个问题:http://stackoverflow.com/questions/543926/is-it-possible-to-ajax-a-file-upload – russau 2009-07-20 01:49:15
argh ...好吧,这是我的结局^^谢谢你的回答 – marcgg 2009-07-20 01:51:46