【问题标题】:Symfony Delete image uploaded with filesystemSymfony 删除使用文件系统上传的图像
【发布时间】:2020-07-09 09:51:35
【问题描述】:

我想用 fileSystem 从我的 /uploads 文件夹中删除一张图片,但我做不到。这是我的代码。 非常感谢!

/**
 * Permet de supprimer des images
 *
 * @Route("/delete/image/{id}", name="image_delete", methods={"DELETE"})
 *
 * @param Image $image
 * @param EntityManagerInterface $manager
 * @return Response
 */
public function deleteImage(Image $image, EntityManagerInterface $manager)
{
    /**
     * Je gère la suppression du dossier "uploads" ou l'image est stockée
     */
    //Je récupère le nom de l'image
    $filename = $image->getName();
    // Je crée une instance de kla classe fileSystem
    $fileSystem = new Filesystem();
    //Je supprime l'image du dossier
    $fileSystem->remove('%kernel.project_dir%/public/uploads/'.$filename);

    /**
     * Je gère la suppression en bdd
     */
    $manager->remove($image);
    $manager->flush();
    return new Response('deleted', Response::HTTP_OK);



}

【问题讨论】:

    标签: image symfony upload filesystems


    【解决方案1】:

    这里的问题是你传递的路径抛出方法:

    $fileSystem->remove('%kernel.project_dir%/public/uploads/'.$filename);
    

    %kernel.project_dir% 在此位置不起作用,因为Filesystem 类无权访问内核配置。你必须先得到它:

    $projectDir = $this->getParameter('kernel.project_dir');
    $fileSystem->remove($projectDir.'/public/uploads/'.$filename);
    

    【讨论】:

      猜你喜欢
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多