開始之前,請注意,我必須更新一個不屬於我的網站,因此我無法重做整個邏輯。如果我這樣做,我會做不同的事情。使用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