Vichuploaderbundle: ํŒŒ์ผ์˜ ์‹œ์Šคํ…œ ๊ฒฝ๋กœ๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2015๋…„ 01์›” 12์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dustin10/VichUploaderBundle

์•ˆ๋…•ํ•˜์„ธ์š”. ์ด ํ›Œ๋ฅญํ•œ ๋ฒˆ๋“ค์„ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค.
ํŒŒ์ผ์˜ ์‹œ์Šคํ…œ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์ง€๊ธˆ ๋‚ด๊ฐ€ ํ•œ ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋จผ์ € ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋“œํ•  ๋•Œ File ์ธ์Šคํ„ด์Šค๋ฅผ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค.

vich_uploader:
    db_driver: orm
    mappings:
        data_files:
            inject_on_load:     true

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‚ด ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    $file = $entity->getDocFile();

์ตœ์„ ์˜ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

"vich_uploader.storage ์„œ๋น„์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค...
$downloadHandler์— downloadObject๋งŒ ์žˆ๋Š” ์ด์œ ๋Š” getPath๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

์•„๋‡จ. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์‹ค, ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ์— ๋Œ€ํ•œ "์ตœ์„ ์˜ ์ ‘๊ทผ ๋ฐฉ์‹"์ด ์—†์Šต๋‹ˆ๋‹ค.
์ด ๋ฒˆ๋“ค์€ FileSystem ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์„ ํ†ตํ•ด ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์ž‘๋™ํ•˜์ง€๋งŒ Gaufrette ๋˜๋Š” Flysystem์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ๋„ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ "์‹œ์Šคํ…œ ๊ฒฝ๋กœ"๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ด ๋ฒˆ๋“ค์€ ์ด ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฒฝ๋กœ๋ฅผ ์–ป์œผ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์ œ ๊ฒฝ์šฐ์—๋Š” ๋Œ€๊ธฐ์—ด์„ ํ†ตํ•ด ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์— ์ผ๋ถ€ ์‚ฌํ›„ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์ง€๋งŒ(์ œ ๊ฒฝ์šฐ์—๋Š” S3์— ์—ฐ๊ฒฐํ•˜๋Š” Gaufrette) ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ํŒŒ์ผ ์ด๋ฆ„์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ํŒŒ์ผ์˜ URL์„ ๊ฒ€์ƒ‰ํ•œ ๋‹ค์Œ uri_prefix๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์žˆ์ง€๋งŒ ํ™•์‹คํžˆ ์ด๊ฒƒ์ด "์˜ฌ๋ฐ”๋ฅธ" ๋ฐฉ๋ฒ•์ด ๋  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜๋ฏ€๋กœ ์—”ํ‹ฐํ‹ฐ๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ( ์˜ˆ ์—์„œ getImageName() )

๋‚ด ๋‚˜์œ, ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €์žฅ ์„œ๋น„์Šค( vich_uploader.storage ) ๋ฐ resolvePath ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

"vich_uploader.storage ์„œ๋น„์Šค๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค...
$downloadHandler์— downloadObject๋งŒ ์žˆ๋Š” ์ด์œ ๋Š” getPath๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰