将照片名称转换为照片 url

Convert photo name to photo url

我有一个带有可上传照片的地点实体,如下所示:

 /**
 * @ORM\Column(type="string", length=255)
 * @var string
 * @ApiProperty(iri="http://schema.org/photo")
 * @Groups({"read"})
 */
private $photo;


/**
 * @Vich\UploadableField(mapping="image", fileNameProperty="photo")
 * @var File
 * @Assert\NotBlank()
 * @Assert\File(
 *     maxSize = "1024k",
 * )
 */
private $photoFile;

当我请求 api 时,我得到实体的照片名称,但我希望照片 url(绝对 url)直接在我的 angular 应用。 Vich Uploader 有一个 retrieve the path of the photo 的助手,但我不能直接在方法 getPhoto() 中执行此操作,所以我该怎么做?

您可以添加一个 event subscriber 来执行此操作,侦听 GET /places,它将查看是否存在 photoFile,使用助手进行计算并填充非可称为 photoUrl 的持久化字段。