λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Project/싹틔움

[싹틔움] 10/25 κ°œλ°œμΌμ§€ 이미지 μ—…λ°μ΄νŠΈ κ΅¬ν˜„ 방식 κ³ λ―Ό

by ν•œ33 2024. 11. 2.

πŸ“š [λ°°κ²½]

 

νšŒμ›μ •λ³΄ μˆ˜μ • νŽ˜μ΄μ§€μ—μ„œ ν”„λ‘œν•„ 이미지 변경이 ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€. κΈ°μ‘΄μ—λŠ” νšŒμ›μ •λ³΄ μˆ˜μ • μ‹œ, ν”„λ‘œν•„ 이미지, μ‚¬μš©μž 이름, λΉ„λ°€λ²ˆν˜Έ 등이 λ™μ‹œμ— μ—…λ°μ΄νŠΈλ˜μ–΄μ„œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ, μ‚¬μš©μž κ²½ν—˜μ„ κ°œμ„ ν•˜κ³ μž, ν”„λ‘œν•„ 이미지 λ³€κ²½ μž‘μ—…μ„ λ‹€λ₯Έ μš”μ²­μœΌλ‘œ λ‚˜λˆ„κ³ , λ°μ΄ν„°λ² μ΄μŠ€ μ €μž₯을 μ΅œμ’… μˆ˜μ • λ‹¨κ³„μ—μ„œ ν•œ λ²ˆμ— μ²˜λ¦¬ν•˜λŠ” λ°©μ‹μœΌλ‘œ κ°œμ„ ν•˜λ € ν•©λ‹ˆλ‹€. 

 

🌱 [μš”κ΅¬μ‚¬ν•­]

 

ν”„λ‘œν•„ 이미지 λ³€κ²½ μš”μ²­ μ‹œ, μ¦‰μ‹œ λ°μ΄ν„°λ² μ΄μŠ€μ— λ°˜μ˜ν•˜μ§€ μ•Šκ³ , νšŒμ›μ •λ³΄ μˆ˜μ • νŽ˜μ΄μ§€μ— 이미지 URL 을 λ°˜ν™˜ν•΄ μ‚¬μš©μžμ—κ²Œ λ³€κ²½ 사항을 μ‹œκ°μ μœΌλ‘œ 확인할 수 μžˆλ„λ‘ ν–ˆμŠ΅λ‹ˆλ‹€. 이후 νšŒμ›μ •λ³΄ μˆ˜μ • νŽ˜μ΄μ§€μ˜ μ €μž₯ λ²„νŠΌμ„ λˆŒλŸ¬μ•Όλ§Œ μ‚¬μš©μžκ°€ λ³€κ²½ν•œ 데이터인 이름, 이미지 등이 λ°μ΄ν„°λ² μ΄μŠ€μ— λ°˜μ˜λ©λ‹ˆλ‹€. νšŒμ›μ •λ³΄ μˆ˜μ • 쀑 ν”„λ‘œν•„ 이미지가 λ³€κ²½λœ κ²½μš°μ—λ§Œ μƒˆλ‘œμš΄ URL 이 μ—…λ°μ΄νŠΈλ˜λ©°, 그렇지 μ•Šμ€ κ²½μš°μ—λŠ” κΈ°μ‘΄ URL 을 κ·ΈλŒ€λ‘œ μœ μ§€ν•©λ‹ˆλ‹€. 

 

πŸ’‘ [선택지]

 

1. 이미지 λ³€κ²½κ³Ό λ™μ‹œμ— λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. μ΄λŠ” κ΅¬ν˜„μ΄ λ‹¨μˆœν•˜κ³  이미지 URL 을 맀번 좜λ ₯μ‹œμΌœμ„œ μ‚¬μš©μžμ—κ²Œ 보여쀄 ν•„μš”κ°€ μ—†κΈ° λ•Œλ¬Έμ— S3 에 μ €μž₯λ˜λŠ” 이미지λ₯Ό 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ μ‚¬μš©μžκ°€ 확인을 ν•˜μ§€ λͺ»ν•˜κ³  이미지가 μ €μž₯될 수 μžˆλ‹€κ³  νŒλ‹¨ν–ˆκ³ , κ²°κ΅­ 그러면 μ‚¬μš©μžκ°€ λ‹€μ‹œ 이미지λ₯Ό λ³€κ²½ν•΄μ•Όν•˜λ―€λ‘œ λ°μ΄ν„°λ² μ΄μŠ€μ™€ S3 에 μ ‘κ·Όν•˜λŠ” λ¦¬μ†ŒμŠ€κ°€ ν•„μš”μΉ˜ μ•Šκ²Œ 늘 것이라 μ˜ˆμƒλ˜κ³  μ‚¬μš©μžμ—κ²Œλ„ λ°”λžŒμ§ν•œ κ²½ν—˜μ„ μ œκ³΅ν•˜μ§€ λͺ» ν•  것이라 μ˜ˆμƒν–ˆμŠ΅λ‹ˆλ‹€.

 

2. 이미지 λ³€κ²½ μ‹œ S3 μ €μž₯ ν›„ 이미지 URL 을 ν†΅ν•΄μ„œ μ‚¬μš©μžμ—κ²Œ 미리보기λ₯Ό μ œκ³΅ν•˜λŠ” λ°©μ‹μž…λ‹ˆλ‹€. μ‹€μ œ 저희 μ„œλΉ„μŠ€μ—μ„œλ„ μ›ν˜•μ˜ ν‹€ μ•ˆμ— 사진이 λ“€μ–΄κ°€λŠ” 방식이기 λ•Œλ¬Έμ— 미리보기 제곡이 ν•„μš”ν•˜λ‹€κ³  νŒλ‹¨ν–ˆμŠ΅λ‹ˆλ‹€. 

 

πŸ’‘ [μ˜μ‚¬κ²°μ •/μ‚¬μœ ]

ν”„λ‘œν•„ 이미지 λ³€κ²½ μš”μ²­μ„ λ³„λ„μ˜ API둜 λΆ„λ¦¬ν•˜κ³ , 이미지 URL을 S3에 μž„μ‹œ μ €μž₯ν•œ λ’€, μ΅œμ’… μ €μž₯ λ‹¨κ³„μ—μ„œλ§Œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ—…λ°μ΄νŠΈν•˜λŠ” 방식을 μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€.

이 방식을 톡해 μ‚¬μš©μžλŠ” ν”„λ‘œν•„ 이미지λ₯Ό λ³€κ²½ν•  λ•Œ μ¦‰μ‹œ 반영 μ—¬λΆ€λ₯Ό 확인할 수 있으며 μ΅œμ’… 확인 ν›„ λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯ν•˜λ„λ‘ ν•˜μ—¬ 무결성을 높일 수 μžˆμŠ΅λ‹ˆλ‹€.

λ˜ν•œ, λΆˆν•„μš”ν•œ λ°μ΄ν„°λ² μ΄μŠ€ μš”μ²­μ„ 쀄여 νš¨μœ¨μ„±μ„ κ°œμ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

πŸ’‘ λ§Œμ•½ λ‹€λ₯Έ λ°©μ‹μœΌλ‘œ κ°œλ°œν•œλ‹€λ©΄?

 

ν”„λ‘ νŠΈμ—”λ“œκ°€ κ΅¬ν˜„λ˜μ–΄μžˆλ‹€λ©΄ `Data URL` λ˜λŠ” `Blob URL` 을 톡해 S3 에 μ—…λ‘œλ“œλ₯Ό ν•΄μ„œ URL 을 μƒμ„±ν•˜μ§€ μ•Šλ”λΌλ„ URL 처럼 νŒŒμΌμ„ 닀루고 미리보기λ₯Ό μ œκ³΅ν•˜λŠ” 방법을 μ‚¬μš©ν•  수 μžˆλ‹€κ³  λ°°μ› μŠ΅λ‹ˆλ‹€.

κ·Έλ ‡κ²Œ 미리보기λ₯Ό μ œκ³΅ν•˜κ³  λ§ˆμ§€λ§‰ μ΅œμ’… μ €μž₯ λ‹¨κ³„μ—μ„œ ν•œ λ²ˆμ— S3 μ—…λ‘œλ“œμ™€ λ°μ΄ν„°λ² μ΄μŠ€ μ €μž₯을 ν•˜λŠ” 방법을 선택해볼 수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

이 방법을 μ‚¬μš©ν•œλ‹€λ©΄ κΈ°μ‘΄ μ„ νƒν•œ λ°©μ‹μœΌλ‘œ λ°μ΄ν„°λ² μ΄μŠ€ 접근을 μ΅œμ†Œν™” μ‹œν‚¨ 것 뿐만 μ•„λ‹ˆλΌ S3 μ—…λ‘œλ“œ μ—­μ‹œ ν•„μš”ν•œ μˆœκ°„μ—λ§Œ 진행할 수 μžˆμ–΄μ„œ μ €μ˜ μ„ νƒμ§€μ˜ 단점 μš”μ†Œλ₯Ό λͺ¨λ‘ ν•΄κ²°ν•  수 μžˆμ„ 것이라 μƒκ°λ©λ‹ˆλ‹€.