【发布时间】:2019-02-21 07:19:36
【问题描述】:
它给出了我在标题上写的错误。我以前使用过这个完全相同的代码,但我现在不工作了。我想我没有得到“id”,但我不知道为什么。 如果我在控制器上取消注释这些注释行,它会打开照片添加窗口并让我选择一张照片,但点击提交后,它不会上传。 拜托伙计们,我真的需要你的帮助。有任何想法吗?我在这里在 stackoverflow 上看到了同样的错误,但该解决方案对我不起作用
*****这是我的控制器*****
/**
* @Route("/{id}/fotoekle", name="duyurular_fotoekle", methods={"GET","POST"})
*/
public function fotoekle(Request $request, $id, Duyurular $duyurular): Response
{
$form = $this->createForm(DuyurularType::class, $duyurular);
$form->handleRequest($request);
echo ('sefa');
// if ($form->isSubmitted() && $form->isValid()) {
echo ('sefa2');
$file = $request->files->get('image');
$fileName = $this->generateUniqueFileName().'.'.$file->guessExtension();
// dump($request);
// die();
// $file = $duyurular->getFotograf();
// $file = $form->get('fotograf')->getData();
try{
$file->move(
$this->getParameter('fotograflar_directory'),
$fileName
);
}catch (FileException $e){
}
$duyurular->setFotograf($fileName);
$this->getDoctrine()->getManager()->flush();
return $this->redirectToRoute('duyurular_fotoekle', ['id' => $duyurular->getId(),]);
// }
// return $this->render('duyurular/fotoekle.html.twig', [
// 'duyurular' => $duyurular,
// 'form' => $form->createView(),
// 'id' => $duyurular->getId(),
// ]);
}
这是我的 .html.twig 文件/表单代码
{% block body %}
<h1>{{ duyurular.baslik }}</h1>
<form action="{{ path('duyurular_fotoekle',{'id':id}) }}" method="post" enctype="multipart/form-data">
Select image to upload:
<input name="duyuruid" value="{{ id }}" type="number" readonly>
<input type="file" name="image" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
{% if duyurular.fotograf != null %}
<img src="{{ asset('yuklenen') }}/fotograflar/{{ duyurular.fotograf }}" height="100">
{% endif %}
{% endblock %}
【问题讨论】:
标签: javascript php symfony upload symfony4