我正在尝试处理通过表单上传的文件并将其保存到我的文件系统中。但是,当我这样做时,我始终会从Symfony/Component/HttpFoundation/File/File.php
Unable to create the "/images/gallery" directory
500 Internal Server Error - FileException
在我的控制器中,我有这个代码,它处理表单验证,实体持久性等。
$gallery_image = new GalleryImage();
$form = $this->createForm(new GalleryImageType(), $gallery_image);
// Bind the posted data to the form
$form->bind($this->getRequest());
// Make sure the form is valid before we persist the image
if ($form->isValid()) {
// Get the entity manager and persist the contact
$em = $this->getDoctrine()->getManager();
$gallery_image->upload();
$em->persist($gallery_image);
$em->flush();
// etc...
}
在upload
方法中,我这样做:
$this->image->move('/images/gallery', 'test.'.$this->image->guessExtension());
所以我的目的是将其移至/web/images/gallery
。
我尝试将/web
更改为777
,因此问题似乎不是权限问题。
/web/images/gallery
是否放置这些图片的正确位置,是否有任何理由我无法将此文件保存到文件系统?
答案 0 :(得分:3)
根据您的代码,您的意思是驱动器的根目录。因此,您的网络文件夹的路径不正确。
尝试更类似的东西:
$this->image->move(__DIR__ . '/../../../../web/images/gallery', 'test.'.$this->image->guessExtension());
如果您在网络目录中创建了图像和图库文件夹,它应该可以使用。
参考:http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html