我有一個問題,將文件輸入對象傳遞給準備並添加到對象數組之前的函數,然後將它提供給表單數據數組。Javascript,文件輸入和FormData問題
爲了簡化這一點,我將其分解爲以下內容。
case "file":
values[input_name] = inputs[i].files[0];
break;
return values;
如果我文件讀入到一個對象數組
values{"imagename": file}
傳遞一個對象入FORMDATA對象
formParams.append("imagename", file);
對此我通過整個對象與下面的循環做之前
var formParams = new FormData();
for (key in values) {
formParams.append(key, values[key]);
log("error", "FormData Key: " + key + " Data:" + values[key]);
}
的FormData
對象似乎並不通過實際的文件,但它傳遞FileList
數據的名稱,大小等
我的問題是,本身可以傳遞給一個對象,該文件保存在圓通,看起來我正在失去正在上傳的圖像的場景。
當表單在另一端由PHP
處理時,它不會填充$_FILES
數組,並且PHP進程函數失敗,因爲它看不到相應輸入字段的任何數據。
我將文件傳遞給FormData之前,通過傳遞文件來丟失文件數據?
你在設置'contentType:'multipart/form-data''嗎? –
是的,我傳遞一個新創建的窗體對象'var form = document.createElement('form');'給formData並設置'form.enctype ='multipart/form-data';'爲該窗體。 – PHPDev