์ด๊ฒ์ด VichUploader์ ๋ชฉํ๊ฐ ์๋๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง VichUploader๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฟ๋ง ์๋๋ผ ํ ํ๋ฆฟ์์๋ ํ์ผ ํ๋๋ฅผ ์ฒ๋ฆฌํ๊ธฐ์ ๋๋ฌด ์ข๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ด ์ฌ์ค์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
์ํฉ์ ์ด๋ฏธ ์๋ฒ์ ํ์ผ์ด ์๊ณ VichUploader์์ ์ ์ฅํ๊ณ ์ฌ๋ฐฐ์นํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์๋ ์ค์ธ ๋ด ์ฝ๋:
use Symfony\Component\HttpFoundation\File\File;
......
class documentController extends Controller {
......
public function updateAction(Request $request){
......
$form = $this->createForm(new DocumentType(), $doc);
........
if ($form->isValid()) {
$baseDir = $this->get('kernel')->getRootDir() . "/../web/uploads";
$fileThumbnail = new File($baseDir."/image.jpg");
$doc->setImgThumbnail($fileThumbnail->getFilename());
$sm = $this->get('vich_uploader.storage');
$sm->upload($doc);
$em->persist($doc);
$em->flush();
.......
} //eof if
}
}
VichUploader๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ก๋๋ ํ์ผ์ ์์ ํด๋์ค ์์ด ์ ์ฅํ๋ ค๊ณ ์๋ํ์ง๋ง ๋ด ๋ฐฉ์๋๋ก ์๋ํ์ง ์์ต๋๋ค.
VichUploader๊ฐ ์๊ณ Form ์์ด ์ ๋ก๋๋ ํ์ผ์ ์ ์ฅํ ์ ์๋์ง ์๊ณ ์ถ์ต๋๋ค.
๊ฐ์ฌ ํด์,
์ด๊ฒ์ ์๋ํ์ง ์์ ๊ฒ์ ๋๋ค. ์ ๋ก๋ ํ๋ก์ธ์ค๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ค๋ฉด UploadedFile์ด ์ํฐํฐ์ ๋ฐ์ธ๋ฉ๋์ด ์์ด์ผ ํ๋ฉฐ ๋์ File ์ธ์คํด์ค๋ฅผ ๋ฐ์ธ๋ฉํด์ผ ํฉ๋๋ค.
@ftassi ์๋ฃจ์
์ด ์กด์ฌํฉ๋๋ค.
UploadedFile
ํด๋์ค์๋ test
๋งค๊ฐ๋ณ์๊ฐ ์์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๊ฐ true
์ด๋ฉด symfony๋ ํ์ผ ์
๋ก๋๋ฅผ ์๋ฎฌ๋ ์ดํธํฉ๋๋ค.
@Baachi ์ @ftassi๋ณด๋ค
@Baachi ๋ง์ต๋๋ค!
UploadedFile ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ํดํน์ด์ง๋ง ๊ฐ๋จํ๊ณ ํจ๊ณผ์ ์
๋๋ค.
์คํ ๊ฐ๋ฅํ ์๋ฃจ์ ์
$fileThumbnail = new UploadedFile($baseDir.$filename, 'image.jpg', null, null, null, true);
$doc->setFileThumbnail($fileThumbnail);
$em->persist($doc);
$em->flush();
๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๊ฒ์ด ์๋ฒฝํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@Baachi ์ @ftassi๋ณด๋ค
@Baachi ๋ง์ต๋๋ค!
UploadedFile ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ํดํน์ด์ง๋ง ๊ฐ๋จํ๊ณ ํจ๊ณผ์ ์ ๋๋ค.
์คํ ๊ฐ๋ฅํ ์๋ฃจ์ ์
๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๊ฒ์ด ์๋ฒฝํฉ๋๋ค.