我正在編寫圖像上傳程序,並使其與單個文件完美協作,但是當我嘗試處理多個文件時,似乎沒有任何東西正在通過。我有一個HTML元素接受多個文件:處理從單個輸入元素通過POST上傳的多個文件
<input type="file" id="entryPhotos" multiple>
,然後建立我FormData
:
var formData = new FormData();
var entryArray = new Array("entryName","entryFoodType","entryROI","entryOpeningHour","entryOpeningMinute","entryOpeningAMPM","entryClosingHour","entryClosingMinute","entryClosingAMPM","entryPhone","entryEmail","entryPhotos","entryDesc","entryLocLat","entryLocLong");
for(var temp = 0; temp < entryArray.length; temp++){
//--I suspect my problem is here
if($('#' + entryArray[temp])[0].files){
formData.append(entryArray[temp], $('#' + entryArray[temp])[0].files);
}
else{
formData.append(entryArray[temp], $('#' + entryArray[temp]).val());
}
}
在使用jQuery.ajax之後送過來:
$.ajax({
url: '/scripts/spotEntry.php',
data: formData,
type: 'POST',
contentType: false,
processData: false,
success: function(returnCode){
entryReturnProc(returnCode);
}
});
但當它到達服務器時什麼都沒有:
echo count($_FILES["entryPhotos"]["name"]); //returns 0
如果我只是做一個單一的形象,我可以做$('#' + entryArray[temp])[0].files[0]
,它會正常工作,但我不應該然後能夠刪除[0]
並讓它發送數組,我的理解,FormData jQuery.ajax和PHP的所有支持?
試過'print_r($ _ FILES);'? –
它打印出一個空白數組。當我有多個文件時,他們甚至不會使用POST請求將其發送到服務器。 – Xandor
我希望人們會解釋downopoting的原因... – Xandor