如何使用symfony3中的文件加载datafixtures

时间:2017-09-12 14:27:33

标签: image symfony doctrine

我想用DoctrineFixturesBundle加载带有图像的datafixtures,但我不知道如何让它工作。

我试过这个:

public function load(ObjectManager $manager)
{
    $imageGrabTail = new Image();
    $imageGrabTail->setTrick($this->getReference('grab-tail'));
    $imageGrabTail->setUpdatedAt(new \DateTimeImmutable());
    $file = new UploadedFile($imageGrabTail->getUploadDir() . '/63.jpeg', 'Image1', null, null, null);
    $imageGrabTail->setFile($file);
    $manager->persist($imageGrabTail);
    $manager->flush();

}

我的方法getUploadDir():

public function getUploadDir()
{
    return 'uploads/img';
}

但我有一个错误:

[Symfony\Component\HttpFoundation\File\Exception\FileNotFoundException]  
  The file "uploads/img/63.jpeg" does not exist

我的文件63.jpeg存在于此文件夹中。

是否有人可以向我解释为什么它不起作用?

谢谢!

2 个答案:

答案 0 :(得分:0)

此对象UploadedFile用于通过请求上载的文件。这里没有请求,因此您必须使用get_file_contents()函数才能访问您的数据。 试试这个功能并告诉我们它的结果。

答案 1 :(得分:0)

为了解决这个问题,我刚刚关注了这个帖子

How would you add a file upload to a Symfony2 DataFixture?