๐Ÿ“ธData URI(Base64 ์ด๋ฏธ์ง€) ์ƒ์„ฑ๊ธฐ

์ด๋ฏธ์ง€ ํŒŒ์ผ์„ Data URI ๋กœ ๋ณ€ํ™˜(๋กœ์ปฌ ์ฒ˜๋ฆฌ)

์„ ํƒํ•œ ํŒŒ์ผ์€ ๋ธŒ๋ผ์šฐ์ €์˜ FileReader ๋กœ ์ด ํŽ˜์ด์ง€ ์•ˆ์—์„œ๋งŒ ์ฝ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋กœ ์˜ฌ๋ฆฌ์ง€ ์•Š๊ณ  ์–ด๋””์—๋„ ๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Data URI ๋ฅผ ์“ธ ๋•Œ ์žƒ๋Š” ๊ฒƒ

base64 ๋Š” 3๋ฐ”์ดํŠธ๋ฅผ 4๊ธ€์ž๋กœ ๋ฐ”๊พธ๋ฏ€๋กœ ๋ณธ๋ฌธ์ด ์›๋ณธ๋ณด๋‹ค ์•ฝ 33% ์ปค์ง‘๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— data:MIME;base64, ์ ‘๋‘์‚ฌ ๊ธธ์ด๊ฐ€ ๋” ๋ถ™์Šต๋‹ˆ๋‹ค. ํ™”๋ฉด์˜ ์ฆ๊ฐ€์œจ์€ ์‹ค์ œ ๊ณ„์‚ฐ๊ฐ’์ž…๋‹ˆ๋‹ค.

๋ณ„๋„ ํŒŒ์ผ์ด ์•„๋‹ˆ๋ฏ€๋กœ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋”ฐ๋กœ ์บ์‹œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ์ด๋ฏธ์ง€๋ฅผ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ์“ฐ๋ฉด ๊ทธ๋งŒํผ HTMLยทCSS ๊ฐ€ ๋งค๋ฒˆ ๋‹ค์‹œ ๋‚ด๋ ค๊ฐ‘๋‹ˆ๋‹ค. CSS ํŒŒ์ผ์— ๋„ฃ์œผ๋ฉด ๊ทธ CSS ๊ฐ€ ์ปค์ ธ ์ฒซ ๋ Œ๋”๊ฐ€ ๋Šฆ์–ด์งˆ ์ˆ˜ ์žˆ๊ณ , ์ด๋ฏธ์ง€๋ฅผ ๊ต์ฒดํ•  ๋•Œ๋งˆ๋‹ค ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ฐฐํฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ จ๋œ ๋„๊ตฌ

๋ธŒ๋ผ์šฐ์ € ์•ˆ์—์„œ๋งŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค

์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ๊ณ ๋ฅด๋ฉด ๋ธŒ๋ผ์šฐ์ €์˜ FileReader ๋กœ ๋ฐ”์ดํŠธ๋ฅผ ์ฝ์–ด base64 ๋กœ ๋ฐ”๊พธ๊ณ  Data URI ๋ฅผ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ์„œ๋ฒ„๋กœ ์˜ฌ๋ฆฌ์ง€ ์•Š๊ณ  ์–ด๋””์—๋„ ๋ณด๋‚ด์ง€ ์•Š์œผ๋ฏ€๋กœ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋Š๊ธด ์ƒํƒœ์—์„œ๋„ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๋ถ™์—ฌ ์“ธ img ํƒœ๊ทธ์™€ CSS background-image ํ•œ ์ค„๋„ ํ•จ๊ป˜ ๋งŒ๋“ค๊ณ , ๊ฐ๊ฐ ๋ณต์‚ฌ ๋ฒ„ํŠผ์„ ๋‘ก๋‹ˆ๋‹ค.

MIME ํƒ€์ž…์€ ํŒŒ์ผ ์•ž๋ถ€๋ถ„์œผ๋กœ ํŒ๋‹จํ•ฉ๋‹ˆ๋‹ค

ํ™•์žฅ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ํŒŒ์ผ ๋งจ ์•ž์˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ฐ”์ดํŠธ๋ฅผ ๋ณด๊ณ  ํ˜•์‹์„ ๊ฐ€๋ฆฝ๋‹ˆ๋‹ค. PNG ๋Š” 89 50 4E 47, JPEG ๋Š” FF D8 FF, GIF ๋Š” 47 49 46 38, WebP ๋Š” RIFF ๋’ค 8๋ฐ”์ดํŠธ ์œ„์น˜์˜ WEBP, BMP ๋Š” 42 4D, ICO ๋Š” 00 00 01 00 ์ด๋ฉฐ SVG ๋Š” ํ…์ŠคํŠธ ์‹œ์ž‘ ๋ถ€๋ถ„์„ ๋ด…๋‹ˆ๋‹ค. ์–ด๋А ๊ทผ๊ฑฐ๋กœ ํŒ๋‹จํ–ˆ๋Š”์ง€ ํ™”๋ฉด์— ๋ฐ”์ดํŠธ์งธ ์ ์–ด ๋‘๊ณ , ์‹œ๊ทธ๋‹ˆ์ฒ˜๋ฅผ ๋ชป ์ฐพ์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ณด๊ณ ํ•œ ํ˜•์‹์„ ์“ด ์‚ฌ์‹ค์„ ๋”ฐ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. 2026๋…„ 10์›” ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.

์ปค์ง€๊ณ  ์บ์‹œ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ 

base64 ๋Š” 3๋ฐ”์ดํŠธ๋ฅผ 4๊ธ€์ž๋กœ ๋ฐ”๊พธ๋ฏ€๋กœ ๋ณธ๋ฌธ์ด ์•ฝ 33% ์ปค์ง€๊ณ  ์ ‘๋‘์‚ฌ ๊ธธ์ด๊ฐ€ ๋” ๋ถ™์Šต๋‹ˆ๋‹ค. ๋˜ ๋ณ„๋„ ํŒŒ์ผ์ด ์•„๋‹ˆ์–ด์„œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋”ฐ๋กœ ์บ์‹œํ•˜์ง€ ๋ชปํ•ด, ๊ฐ™์€ ์ด๋ฏธ์ง€๋ฅผ ์—ฌ๋Ÿฌ ํŽ˜์ด์ง€์—์„œ ์“ฐ๋ฉด ๊ทธ๋งŒํผ ๋งค๋ฒˆ ๋‹ค์‹œ ๋‚ด๋ ค๊ฐ‘๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” 2MB๊นŒ์ง€๋งŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ฑฐ๋‚˜ ๋‹ค์‹œ ์ธ์ฝ”๋”ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

๊ณ ๋ฅธ ์ด๋ฏธ์ง€๊ฐ€ ์„œ๋ฒ„๋กœ ์˜ฌ๋ผ๊ฐˆ๊นŒ?

์•„๋‹™๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์˜ FileReader ๋กœ ์ด ํŽ˜์ด์ง€ ์•ˆ์—์„œ๋งŒ ์ฝ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์€ ์„œ๋ฒ„๋กœ ์ „์†ก๋˜์ง€ ์•Š๊ณ  ์–ด๋””์—๋„ ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์™œ ์›๋ณธ๋ณด๋‹ค 33%์ฏค ์ปค์งˆ๊นŒ?

base64 ๋Š” 3๋ฐ”์ดํŠธ๋ฅผ 4๊ธ€์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ์‹์ด๋ผ ๊ธธ์ด๊ฐ€ 3๋ถ„์˜ 4๊ฐ€ ๋˜๊ณ , ์—ฌ๊ธฐ์— data:MIME;base64, ์ ‘๋‘์‚ฌ๊ฐ€ ๋” ๋ถ™์Šต๋‹ˆ๋‹ค. ํ™”๋ฉด์— ์‹ค์ œ ์ฆ๊ฐ€์œจ์„ ๊ณ„์‚ฐํ•ด ๋ณด์—ฌ ์ค๋‹ˆ๋‹ค.

์ด ๋„๊ตฌ๊ฐ€ ํ•˜์ง€ ์•Š๋Š” ์ผ์€ ๋ฌด์—‡์ผ๊นŒ?

์ด๋ฏธ์ง€๋ฅผ ์ค„์ด๊ฑฐ๋‚˜ ํ’ˆ์งˆ์„ ๋‹ค์‹œ ์ธ์ฝ”๋”ฉํ•˜์ง€ ์•Š๊ณ , Data URI ๋ฅผ ๋‹ค์‹œ ํŒŒ์ผ๋กœ ๋˜๋Œ๋ฆฌ๋Š” ์ผ๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ˜•์‹ ํŒ๋‹จ๊ณผ base64 ๋ณ€ํ™˜๊นŒ์ง€๋งŒ ํ•ฉ๋‹ˆ๋‹ค.