我有一個模塊,用戶可以在其中拍攝圖片(將轉換為 a base64 string,然后轉換為 a file),我需要將文件上傳到我們的服務器,但在轉換base64為file object并將其附加到formData并提交表單之后。我發現在我的后端,它無法讀取$_FILES屬性(參考最后一張圖片),數組是空的,但假設我的文件在那里。并檢查我的formData變量,將數據附加到其中。html<form id="form" method="POST" action="smth.php" enctype="multipart/form-data"> ... <!-- some other input information --></form>js$('#form').on('submit', function(){ ... var formData = new FormData($(this)[0]); var base64 = $('#photo').attr('src'); console.log(...formData); console.log('before checking'); if(base64 != 'default.png'){ var file = dataUrltoFile(base64, 'photo.png'); //external function to convert base64 into file object formData.append('photo', file); } console.log('after checking'); console.log(...formData); ...});smth.php<?php ... var_dump($_POST); var_dump($_FILES); exit(); ... ?>結果
服務器端無法捕獲附加的表單數據文件
胡子哥哥
2022-05-22 15:51:00