Closed Kim-youngjae closed 1 year ago
closed #54
์ฃผ๋ฌธ ์ทจ์ ๋ฐ ์ฅ๋ฐ๊ตฌ๋ ๊ด๋ จ ๊ธฐ๋ฅ ๊ตฌํ์ ํ๋ ๋์ค ๋ธ๋ผ์ฐ์ ์์ ์ํ ๋ฑ๋ก์ด ์๋๋ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌ
์ด๋ฏธ์ง ๋ฐ์ธ๋ฉ์ด ์๋ชป๋์๊ณ , ์ํ ์ด๋ฏธ์ง ๋ฑ๋ก๊ณผ ๊ด๋ จ๋ ๋ฉ์๋๊ฐ ์์ฑ์ด ์๋์ด ์์์
๋ฌผ๋ก ์์ธ ํ์ด์ง๋ ์ฌ์ง์ด ์๋จ๋ ์ํฉ์ด์๋ค.
ํด๊ฒฐ
์ด์ - 1
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Value("${custom.uploadPath}") String uploadPath; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/images/**") .addResourceLocations("file://" + uploadPath); } }
์ ์ ๋ฆฌ์์ค์ ๋ํ ์์ฒญ์ด ๋ค์ด์์ ๋ ์ฒ๋ฆฌ๋ฅผ ๋ด๋นํด์ฃผ๋ WebMvcConfigurer ๋ฅผ ๊ตฌํํ WebMvcConfig ๊ฐ @Configuration (์ค์ ๊ด๋ จ ๋น) ์ ๋ํ ์ด์ ์ด ์์ด ์ ์ฉ์ ๋ชปํด์ฃผ๊ณ ์์๋ค.
๊ทธ๋ฆฌ๊ณ addResourceLocations ์ผ๋ก ์ ๋ก๋ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ค ๋์ ํ์ผ์ ๊ฐ์ง๊ณ ์ค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ โfile://โ ๋ฅผ ๊ผญ ๋ถ์ฌ ์ฃผ์ด์ผ ํ๋ค.
๊ทธ๋๋ ์ฌ์ง์ด ์ ๋ณ๋ค.
์ด์ - 2
public void saveItemImg(ItemImg itemImg, MultipartFile itemImgFile) throws Exception { String oriImgName = itemImgFile.getOriginalFilename(); String imgName = ""; String imgUrl = ""; // ํ์ผ ์ ๋ก๋ if (!(oriImgName == null || "".equals(oriImgName))) { // TODO: isEmpty() -> Deprecated imgName = fileService.uploadFile(itemImgLocation, oriImgName, itemImgFile.getBytes()); imgUrl = "/images/item/" + imgName; } itemImg.updateItemImg(oriImgName, imgName, imgUrl); itemImgRepository.save(itemImg); }
db ์ url ๊ฒฝ๋ก๊ฐ ์ ์ ์ฅ ๋์์์๋ ๋ถ๊ตฌํ๊ณ ์ ๋ถ๋ฌ์ ์ง๊ธฐ๊น์ง ํ๋๋ฐ ์ฌ์ง์ด ๋จ์ง ์๋ ์ด์ ๋ ์ฌ์ง ๊ฒฝ๋ก๋ฅผ ์ ๋ ๊ฒฝ๋ก๋ก ๋งคํํด์ฃผ์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ imgUrl = "/images/item/" + imgName; โ ๊ผญ ์ ์ผ ์์ โ / โ ๋ฅผ ๋ถ์ฌ์ฃผ์โฆ ์ด๋ ๊ฒ ํด์ผ ์ฌ์ง์ด ์ ๋๋ก ๋ฌ๋ค.
/images/item/
๊ทธ ์ด์ธ์๋ ๋ค๋ฅธ ๊ฒฝ๋ก๊ฐ ์ง์ ์ด ์ ๋์๋์ง ํ์ธํด๋ณด๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด ๋ ์ ์๋ค.
์ํ ์ด๋ฏธ์ง๊ฐ ๋ฐ์ธ๋ฉ ๋์ง ์์
๐ ๊ด๋ จ ์ด์
closed #54
โจ ๊ณผ์ ๋ด์ฉ
์ฃผ๋ฌธ ์ทจ์ ๋ฐ ์ฅ๋ฐ๊ตฌ๋ ๊ด๋ จ ๊ธฐ๋ฅ ๊ตฌํ์ ํ๋ ๋์ค ๋ธ๋ผ์ฐ์ ์์ ์ํ ๋ฑ๋ก์ด ์๋๋ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌ
์ด๋ฏธ์ง ๋ฐ์ธ๋ฉ์ด ์๋ชป๋์๊ณ , ์ํ ์ด๋ฏธ์ง ๋ฑ๋ก๊ณผ ๊ด๋ จ๋ ๋ฉ์๋๊ฐ ์์ฑ์ด ์๋์ด ์์์
๋ฌผ๋ก ์์ธ ํ์ด์ง๋ ์ฌ์ง์ด ์๋จ๋ ์ํฉ์ด์๋ค.
ํด๊ฒฐ
์ด์ - 1
์ ์ ๋ฆฌ์์ค์ ๋ํ ์์ฒญ์ด ๋ค์ด์์ ๋ ์ฒ๋ฆฌ๋ฅผ ๋ด๋นํด์ฃผ๋ WebMvcConfigurer ๋ฅผ ๊ตฌํํ WebMvcConfig ๊ฐ @Configuration (์ค์ ๊ด๋ จ ๋น) ์ ๋ํ ์ด์ ์ด ์์ด ์ ์ฉ์ ๋ชปํด์ฃผ๊ณ ์์๋ค.
๊ทธ๋ฆฌ๊ณ addResourceLocations ์ผ๋ก ์ ๋ก๋ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ค ๋์ ํ์ผ์ ๊ฐ์ง๊ณ ์ค๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ โfile://โ ๋ฅผ ๊ผญ ๋ถ์ฌ ์ฃผ์ด์ผ ํ๋ค.
๊ทธ๋๋ ์ฌ์ง์ด ์ ๋ณ๋ค.
์ด์ - 2
db ์ url ๊ฒฝ๋ก๊ฐ ์ ์ ์ฅ ๋์์์๋ ๋ถ๊ตฌํ๊ณ ์ ๋ถ๋ฌ์ ์ง๊ธฐ๊น์ง ํ๋๋ฐ ์ฌ์ง์ด ๋จ์ง ์๋ ์ด์ ๋ ์ฌ์ง ๊ฒฝ๋ก๋ฅผ ์ ๋ ๊ฒฝ๋ก๋ก ๋งคํํด์ฃผ์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ imgUrl = "
/images/item/
" + imgName; โ ๊ผญ ์ ์ผ ์์ โ / โ ๋ฅผ ๋ถ์ฌ์ฃผ์โฆ ์ด๋ ๊ฒ ํด์ผ ์ฌ์ง์ด ์ ๋๋ก ๋ฌ๋ค.๊ทธ ์ด์ธ์๋ ๋ค๋ฅธ ๊ฒฝ๋ก๊ฐ ์ง์ ์ด ์ ๋์๋์ง ํ์ธํด๋ณด๋ ๊ฒ๋ ๋ฐฉ๋ฒ์ด ๋ ์ ์๋ค.
๐ธ ์คํฌ๋ฆฐ์ท(์ ํ)
์ํ ์ด๋ฏธ์ง๊ฐ ๋ฐ์ธ๋ฉ ๋์ง ์์
๐ ๋ ํผ๋ฐ์ค (๋๋ ์๋ก ์๊ฒ ๋ ๋ด์ฉ) ํน์ ๊ถ๊ธํ ์ฌํญ๋ค