Делаю запрос на сервер при помощи axios
const sendPhoto = async (e) => {
e.preventDefault();
let fd = new FormData();
fd.append("image", file);
let data = await axios.post("http://127.0.0.1:8000/api/post", fd);
return console.log(data.data);
};
И обрабатываю на сервере
$rules = [
'image' => "image"
];
$validator = Validator::make($req->all(), $rules);
if ($validator->fails()) {
return response()->json(['val' => false, 'img' => $req->image]);
}
if (!$req->hasFile('image')) {
return response()->json(['image' => "undefined", 'img' => $req->image]);
}
Валидатор выдает ошибку говоря, что я передаю не фото, а строку, hasFile тоже выдает false. Я пробовал менять axios на fetch
const data = await fetch("http://127.0.0.1:8000/api/post", {
method: "POST",
body: fd,
});
const res = await data.json()
return console.log(res);
Но валидацию на сервере фото все равно не проходит. Еще я пробовал вместо FormData использовать:
headers: {
"Content-Type": "multipart/form-data",
},
Но и это мне не помогло