Я пытаюсь отправить файл, используя React.js и пакет dropzone.Я могу отправить файл, но запрос в моем контроллере php не содержит файл.
Вот код:
Javascript:
handleDrop = files => {
// const uploaders = files.map(file => {
const formData = new FormData();
formData.append("file", files[0], 'picture');
return axios.post("http://localhost:8000/upload", formData, {
headers: {
'accept': 'application/json',
'Content-Type': `multipart/form-data; boundary=${formData._boundary}`,
}})
.then(response => {
const data = response.data;
console.log(data);
})
// })
};
render() {
return (
<div>
<NavigationBar>
displaySearchFields={'none'}
</NavigationBar>
<Dropzone onDrop={this.handleDrop}>
<div>Try dropping some files here, or click to select files to upload.</div>
</Dropzone>
</div>
);
}
Php:
/**
* @Route("/upload", methods={"POST", "OPTIONS"}, name="upload")
*/
public function uploadImageToDatabase(Request $request)
{
$data = $request->files->get("file");
$this->saveImage($data);
return new JsonResponse($request);
}
public function saveImage($image){
$fp = fopen("D:\Temp\imageToEncode.png", "w");
fwrite($fp, $image);
fclose($fp);
}
Кто-нибудь знает, что я делаю не так?