3

User エンティティのプロファイル画像のアップロードを容易にするために、VichUploaderBundle をセットアップしました。ローカルファイルシステムを使用するように構成されたGaufretteStorageオプションを使用していますが、ユーザーがフォームを介して画像をアップロードすると、すべて正常に機能します。

ユーザーがフォームからアップロードすることに頼るのではなく、自分でコード内の User エンティティにプロファイル画像ファイルを割り当てられるようにしたいと考えています。どうすればいいですか?

私が十分に明確であることを願っています....基本的に、画像ファイルの内容(file_get_contents()または同様の手段で取得できます)があり、このファイルをユーザープロファイル画像属性に割り当てたいと思います。

4

2 に答える 2

2

バンドルのメンテナーに連絡した後、彼は私の質問に答えるこのソリューションを提供しました:

これを見てください https://github.com/dustin10/VichUploaderBundle/pull/200/files

バンドルはエンティティ ライフサイクル イベント (onPersist onLoad など) によってトリガーされることに注意してください。ただし、UploadedFile のインスタンスがエンティティに挿入された場合にのみ、コピーが管理されます。

ファイルを手動で作成したいがバンドルで管理したい場合は、エンティティに UploadedFile を挿入する必要があります。

于 2014-03-03T13:43:16.227 に答える
0

理解できたかどうかわかりませんが、次のことが参考になると思います。

  1. User エンティティ「image」または「photo」に新しい属性を作成します
  2. 「web/uploads/user_1234.jpg」に画像を置き、このパスを先に作成した「image」属性に格納します。

他に何か必要な場合は、質問を明確にしてください。

于 2014-02-28T14:35:36.343 に答える