Symfony 2:如何手动将文件分配给已配置为使用VichUploaderBundle处理文件上载的实体

时间:2014-02-28 14:14:21

标签: php symfony gaufrette vichuploaderbundle

我已经设置了VichUploaderBundle,以方便我的用户实体上传个人资料图片。我正在使用GaufretteStorage选项,配置为使用本地文件系统,当用户通过表单上传图像时,一切正常。

我现在希望能够自己将代码图像文件分配给代码中的用户实体,而不是依靠用户通过表单上传。我该怎么做?

我希望我足够清楚....基本上我有图像文件的内容(我可以通过file_get_contents()或类似的措施获取)我想将此文件分配给用户个人资料图像属性。

2 个答案:

答案 0 :(得分:1)

在联系了捆绑包的维护者后,他提供了这个解决方案的解决方案:

  

看看这个https://github.com/dustin10/VichUploaderBundle/pull/200/files

     

请记住,捆绑包是由实体生命周期事件(onPersist onLoad等)触发的,但只有在实体中注入UploadedFile实例时才会管理该副本。

     

如果你想手动创建文件,但仍然使用你必须注入的bundle和实体中的UploadedFile来管理它。

答案 1 :(得分:0)

我不知道我是否理解你,但我认为这会有所帮助:

  1. 在用户实体“图片”或“照片”中创建新属性
  2. 将图片放入“web / uploads / user_1234.jpg”,并将此路径存储在 之前创建的“image”属性。
  3. 如果您还需要其他任何内容,请澄清您的问题。