所以我正在做一個小項目,並且在過去的幾個小時裏,我試圖找出如何上傳多個文件,通過AJAX將formData Obj上傳到PHP服務器。formData - AJAX - PHP-上傳多個文件
我覺得這很容易,因爲我上傳一個文件時工作起來很容易,但是當我想向FormData Obj中添加多個文件時,我會得到所有類型的錯誤。
我當前的代碼:以上
HTMN/AJAX::
formData = new FormData($('#form')[0]);
formData.append("File", $("#myFile1")[0].files[0]);
$.ajax({
url: '../uploadFile.php',
data: formData,
cache: false,
contentType: false,
processData: false,
type: 'POST',
dataType: 'json'
}).fail(function(jqXHR) {
console.log(jqXHR.responseText);
console.log(jqXHR.status);
});
}
PHP:
echo $_FILES['File']['name'];
{Lots of code, not worth pasting - my point is that, its working!}
代碼的偉大工程和IM能得到我需要的一切 - 和文件上傳到我的選擇的路徑。但第二我試圖.append另一個文件崩潰。 如果我不喜歡下面的代碼崩潰,並與不確定的指數引發錯誤
formData.append("File1", $("#myFile1")[0].files[0]);
formData.append("File2", $("#myFile2")[0].files[0]);
想我會盡力推動它追加到同一陣列像這樣;
formData.append("File[]", $("#myFile1")[0].files[0]);
formData.append("File[]", $("#myFile2")[0].files[0]);
,並再次它似乎工作的偉大,只要我只能用一個文件這樣做,但我第二次推另一個文件到MYFILE []數組,它拋出未定義的索引錯誤。對我來說,好像我打破了formData obj,當我追加多個文件時 - 出於某種原因。
我的問題的解決方案是運行多個AJAX調用,每個AJAX調用上傳一個文件 - 但似乎是一個非常低效的解決方案。所以如果有人能幫助我,我會很感激!
嘗試追加總是相同的鍵 – ponciste
'formData.append(「File」,$(「#myFile1」)[0] .files [0]);' 'formData.append(「File」,$ (「#myFile2」)[0] .files [0]);' – ponciste
相同的未定義索引錯誤: 注意:未定義索引:文件 – user3238663