kod kontrolera:
/**
* @Route("/api/image", name="image")
*/
class ImageController extends Controller
{
/...
/**
* @Route("/", name="_add", methods={"POST"})
*/
public function addImage(EntityManagerInterface $entityManager, Request $request) {
/** @var User $user */
$user = $this->getUser();
$title = $request->get('title');
$description = $request->get('description');
/** @var UploadedFile $file */
$file = $request->files->get('file');
$fileName = md5(uniqid()) . '.' . $file->guessExtension();
$file->move(
$this->getParameter('images_directory'),
$fileName
);
$image = new Image();
$image->setTitle($title);
$image->setDescription($description);
$image->setFile($file);
$image->setUser($user);
$entityManager->persist($image);
$entityManager->flush();
return $this->json([
'status' => 201
], 201);
}
}
Uploadowny plik zapisuje się prawidłowo, gettery i settery modelu są poprawne (wygenerowane PHPStormem, jeśli potrzeba mogę jeszcze podrzucić Entity Image). Robię $image->setFile($file) po $file->move(...) a mimo to do bazy dodaje się 'file' => '/tmp/php...'. Nie mam pojęcia co robię źle...
EDIT: Pod koniec metody $file->getFilename zwraca 'php...'