好日子我从javascript发送一个数组,其中包含一个文件类型输入的图像,我需要知道如何在php中处理这个数组。我得到的数组是类型:

我的php代码是
<?php
$data = json_decode($_POST["data"],true);
print_r($data);我的javascript代码是
let warranty = {};
warranty.description = document.getElementById("txt_description").value;
warranty.brand = document.getElementById("txt_marca").value;
warranty.serie = document.getElementById("txt_serie").value;
warranty.model = document.getElementById("txt_model").value;
warranty.color = document.getElementById("txt_color").value;
warranty.time_use = document.getElementById("txt_year_use").value;
warranty.status = document.getElementById("dp_status").value;
warranty.location = document.getElementById("dp_location").value;
warranty.price = document.getElementById("txt_price").value;
warranty.img = imgInput.files[0];
warranties.push(warranty);
let datos = new FormData();
datos.append("data",JSON.stringify(warranties));`我试过了
$img = $data[0]['img'];
$file = $_FILES[$img]['tmp_name']; 但它发送给我的错误索引没有找到
发布于 2022-11-22 16:56:24
文件对象不能压缩到JSON。您需要将它们直接附加到FormData对象中。
您可能应该完全忘记使用JSON,然后执行以下操作:
const datos = new FormData();
warranties.forEach((warranty, index) => {
Object.entries(warranty).forEach(([key, value]) => {
datos.append(`data[${index}][${key}]`, value);
});
});然后这些文件将出现在$_FILES中,其余的数据将出现在$_POST中。
https://stackoverflow.com/questions/74536205
复制相似问题