如何在symfony中处理文件上载?
我试图上传不同类型的文件在symfony如何在symfony中处理文件上载?,symfony,Symfony,我试图上传不同类型的文件在symfony $uploadedFile = $request->files->get('image'); 非常适合处理图像,但是我无法将其用于不同的文件 $uploadedFile = $request->files->get('file'); dd($uploadedFile); 无论我用这个发送什么,dd方法都显示null。 如何上载文件,例如PDF、docx等(与图像不同) 我在前端使用vue。您应该使用createForm。 因
$uploadedFile = $request->files->get('image');
非常适合处理图像,但是我无法将其用于不同的文件
$uploadedFile = $request->files->get('file');
dd($uploadedFile);
无论我用这个发送什么,dd方法都显示null。
如何上载文件,例如PDF、docx等(与图像不同)
我在前端使用vue。您应该使用createForm。
因为基于$uploadedFile变量,您的目标仅为“image”的文件类型。您可以在这里查看上传文件的官方文件
$form = $this->createForm(ProductType::class, $product);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
/** @var UploadedFile $brochureFile */
$brochureFile = $form->get('brochure')->getData();
// this condition is needed because the 'brochure' field is not required
// so the PDF file must be processed only when a file is uploaded
if ($brochureFile) {
$originalFilename = pathinfo($brochureFile->getClientOriginalName(), PATHINFO_FILENAME);
// this is needed to safely include the file name as part of the URL
$safeFilename = transliterator_transliterate('Any-Latin; Latin-ASCII; [^A-Za-z0-9_] remove; Lower()', $originalFilename);
$newFilename = $safeFilename.'-'.uniqid().'.'.$brochureFile->guessExtension();
// Move the file to the directory where brochures are stored
try {
$brochureFile->move(
$this->getParameter('brochures_directory'),
$newFilename
);
} catch (FileException $e) {
// ... handle exception if something happens during file upload
}
// updates the 'brochureFilename' property to store the PDF file name
// instead of its contents
$product->setBrochureFilename($newFilename);
}