【发布时间】:2010-11-12 04:38:11
【问题描述】:
在开始之前,请注意我必须更新一个不是我的网站,所以我无法重做整个逻辑。如果我要这样做,我会采取不同的做法。
我有一个带有很多字段的表单的 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 发送这个“$this->data['FileUpload']['file']”...我想这是关键问题,因为我不知道要传递什么对象这里:
{ data:$("#myFileToUpload").val() },
我整个晚上都在忙,任何帮助将不胜感激
【问题讨论】:
-
#myFileToUpload 是 INPUT type="FILE" 元素吗?您无法从 javascript 访问文件的内容。看看这个问题:stackoverflow.com/questions/543926/…
-
啊...好吧,这对我来说已经结束了^^谢谢你的回答
-
即使文件上传是另一种形式,我可以使用表单插件吗?
标签: php jquery ajax cakephp file-upload