2014-02-28 4 views
3

내 사용자 엔티티에 대한 프로필 이미지 업로드를 용이하게하기 위해 VichUploaderBundle을 설정했습니다. 로컬 파일 시스템을 사용하도록 구성된 GaufretteStorage 옵션을 사용하고 있으며 사용자가 양식을 통해 이미지를 업로드 할 때 모두 잘 작동합니다.Symfony 2 : 파일 업로드를 처리하기 위해 VichUploaderBundle을 사용하도록 구성된 엔티티에 파일을 수동으로 할당하는 방법

이제 사용자가 양식을 통해 업로드 할 필요없이 코드에서 직접 사용자 엔터티에 프로필 이미지 파일을 할당 할 수 있기를 원합니다. 어떻게해야합니까?

필자는 필자가 충분히 명확하다는 희망을 가지고 있습니다. 필자는 기본적으로 이미지 파일의 내용을 가지고 있으며 (이 파일을 file_get_contents() 또는 유사한 측정 값으로 가져올 수 있음)이 파일을 사용자 프로필에 할당하려고합니다. 이미지 속성.

답변

1

번들의 테이너에 문의 후 그는 내 질문에 대답이 솔루션 제공 :

(번들이 엔티티 라이프 사이클 이벤트에 의해 트리거 있다는 사실을 숙지이 https://github.com/dustin10/VichUploaderBundle/pull/200/files

에서보세요을 onPersist onLoad 등), UploadedFile 인스턴스가 엔티티에 삽입 된 경우에만 사본을 관리합니다.

수동으로 파일을 만들지 만 삽입해야하는 번들과 엔티티에서 UploadedFile로 관리하려는 경우.

+0

해결책을 설명해 주시겠습니까? 이 질문에 답변 해주십시오. http://stackoverflow.com/questions/33103335/upload-an-image-to-amazon-s3-using-vichuploaderbundle – user3425344

0

내가 당신을 이해 한 경우 나도 몰라,하지만 난이 도움이 될 수 있다고 생각 :

  1. 넣어 귀하의 사용자 엔티티 "이미지"또는 "사진"에 ​​새로운 속성 만들기 "web/uploads/user_1234.jpg"에 이미지를 입력하고 이전에 생성 한 "image"속성에이 경로를 저장하십시오.

다른 것이 필요한 경우 질문을 명확히하십시오.

+0

답변을 주셔서 감사합니다. VichUploaderBundle을 사용하면 Gaufrette를 스토리지에 사용할 수 있으므로 파일 이름 지정자 등의 저장 옵션을 사용할 수 있습니다. 파일을 업로드 할 때 이름이 지정되고 적절한 위치에 업로드됩니다. 양식을 통해 파일 업로드를 처리하지 않고이 작업을 수행하는 방법을 알고 싶습니다. 당신의 지시를 따르면 파일이 적절한 저장소로 옮겨 질 것이라고 말하고 있습니까? 예 : Amazon S3? –