์ด ์ ๊ฒ์๋ฌผ์ ํ์ธํ๋ฉด
์ํ์ ๋ฌธ์ ์์ด ๋ฑ๋กํ ์ ์๋ ๊ฒ์ ํ์ธํด์ค ์ ์๋ค.
์ด๋ฒ์๋ ์ฌ์ง์ ๋ฑ๋กํ๋๋ก ํด์ฃผ์
์ฌ์ง์ ๋ฑ๋กํ๋ ค๋ฉด ์๊ฐ๋ณด๋ค ์ค์ ํด์ผํ๋ ๋ถ๋ถ์ด ๋ง๋ค
์ฐ์ application.propertise ์์ ํ์ผ ์ ์กํ๋ ์ค์ ์ ํด์ฃผ์
application.propertise์์ ํ์ผ์ ์ ์กํ ์ ์๋๋ก setting์ ์๋ฃํด์ฃผ์๋ค.
๊ทธ๋ผ ์ด์ FileController๋ฅผ ๋ง๋ค์ด์ฃผ์.
์ฌ์ง์ ๋ฑ๋กํ๋ ๊ฒ์ด๋, @PostMapping
์ .. ์ด์ ๋ถํฐ .. ํท๊ฐ๋ฆฐ๋ค ~!~! ๋ ์ ๋๋ก ๋จ๊ณ ์~!~!
*ํ์ผ์ ๋ณด๋ด๋๊ฑด @RequestPart
*ํ์ผ์ด ์ ์ฅ๋ ํด๋์ ์์น๋ฅผ ์ง์ ํด์ค๋ค.
ํ๋ก์ ํธ๊ฐ D๋๋ผ์ด๋ธ๋ C๋๋ผ์ด๋ธ์ ์์ผ๋ฉด
"/shopping/images"
์ด๋ ๊ฒ ์ง์ ํด์ค๋ค.
(๋๋ D๋๋ผ์ด๋ธ์ shopping ํด๋๋ฅผ ์์ฑํด์ฃผ๊ณ , ๊ทธ ์์ images ํด๋๋ฅผ ์์ฑํด์ค์
๋ค์๊ณผ ๊ฐ์ด ํด๋ ์์น๋ฅผ ์ง์ ํด์ฃผ์๋ค.)
** MAC ์ฌ์ฉ์์ผ ๊ฒฝ์ฐ์๋
"/Users/์์ด๋/Desktop/shopping/images"
์ด๋ ๊ฒ ์ง์ ํด์ฃผ๊ณ ํด๋๋ ๋ฐํํ๋ฉด์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
๋๋ ํ์์์๋ ์๋์ฐ ํ๊ฒฝ์์ ์์ ์ ํ๊ณ ,
์ง์์๋ ๋งฅ๋ถ์ผ๋ก ์์ ์ ํ๋๋ฐ
๊ฐ์ ํ์ผ์ ๊ฐ์ง๊ณ ๊ณ์ ์ด์ด๊ฐ๋ฉด์ ์์ ์ ํ๋ค๋ณด๋ ์ด ๊ฒฝ๋ก๋ฅผ ์๊พธ ๋ฐ๊ฟ์ค์ผํ๋ค๋ ๊ฒ
๋๋ฌด ํท๊ฐ๋ฆฌ๊ณ ๊น๋จน์ด์ ์ ๋ฅผ ๋ง์ด ๋จน์๋ค.
ํท๊ฐ๋ฆฌ๋ ํ ์ค์ฉ ๊ฐ์ ธ์์ ์ค๋ช ์ ํด์ฃผ์
String fileName = StringUtils.cleanPath(file.getOriginalFilename());
: StringUtils ( import org.springframework.util.StringUtils; )์ CleanPath ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์จ๋ค.
cleanPath๋ ์ฌ์ฉ์์ ์ด์์ฒด์ ํ๊ฒฝ์ด ๊ฐ๊ธฐ ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก
ํ๊ฐ์ง ํํ ๋ฐฉ์์ผ๋ก ํต์ผํ๋ค.
String[] splitFileName = fileName.split("\\.");
: .์ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์ฌ๋ฌ ๋ฌธ์์ด๋ก ์๋ฅธ ํ ๋ฌธ์์ด ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
String ext = splitFileName[splitFileName.length-1];
: ์๋ฅธ ๋ฌธ์์ด ์ค์ ๊ฐ์ฅ ๋ง์ง๋ง ๋ฐฐ์ด์์๋ฅผ ๊ฐ์ ธ์์ ext ๋ณ์์ ์ ์ฅํ๋ค.
++ ์ด ๋ถ๋ถ์ ํท๊ฐ๋ฆฌ๋, ์์๋ฅผ ๋ค์ด์ ์ค๋ช ์ ํ์
์๋ฅผ ๋ค์ด, 21.06.11.ppt ๋ผ๋ ํ์ํฌ์ธํธ ํ์ผ์ด ์๋ค๊ณ ๊ฐ์ ํ์
splitFileName[0] = "21"
splitFileName[1] = "06"
splitFileName[2] = "11"
splitFileName[3] = "ppt"
splitFileName์ ๊ธธ์ด๋ 4์ด๋ค. ๊ทธ๋ผ ext์๋ splitFileName[3]์ ๋ค์ด์๋ ppt๊ฐ ๋ค์ด๊ฐ๊ฒ๋๋ค.
String saveFileName = null;
Calendar c = Calendar.getInstance();
: ์ ์ก ๋ฐ์ ํ์ผ์ ์ ์ฅํ ๋์ ์ด๋ฆ์ ์ง์ ํด์ฃผ์
์ด๋ฆ์๋ ๋ ์ง๋ฅผ ์ง์ ํด์ฃผ๋๋ก ํด์ฃผ์๋ค.
saveFileName = c.getTimeInMillis()+"."+ext;
: ์ ์ก๋ฐ์ ํ์ผ์ ์ด๋ฆ์ ์ ์ก๋ฐ์ ์๊ฐ์ ms ๋จ์๋ก ๋ฐ๊พผ ๊ฒ์ผ๋ก ์ค์ ํ๋ค.
์ฌ์ฉ์์ ์ด์์ฒด์ ํ๊ฒฝ์ด ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก ํ๊ฐ์ง ํํ ๋ฐฉ์์ผ๋ก ํต์ผํ๋ค.
String์ File๊ฐ์ฒด์์ ์ฌ์ฉ๊ฐ๋ฅํ Path ํํ๋ก ๋ณํํ๋ค.
์ด์ arc๋ฅผ ํตํด,
ํ์ผ ์ ์ก์ด ์ ๋๋ก ๋๋์ง ํ์ธํด๋ณด์
๊ท์ฌ์ด ๋ฆฌํธ๋ฆฌ๋ฒ ์ฐ๋ถ ์ฌ์ง์ ์ ํํด์ ์์ฒญ ๋ฃ์๋๋,
๋ด๊ฐ ์ง์ ํ ํด๋์ ์ฑ๊ณต์ ์ผ๋ก ๋ค์ด๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค!!!!!
DB์ ์ ์กํ๋ ํ์ผ์ ๋ํ table์ ์์ฑํด์ฃผ์
๊ทธ๋ฆฌ๊ณ ๋ VO๋ ์ด์ด์ ์์ฑํด์ฃผ์
์ด์ ๋ mapper๋ถํฐ ์ฐจ๋ก๋ก ์์ฑํด์ฃผ์
์ฌ๊ธฐ๊น์ง ์์ฑํด์ฃผ๋ฉด ๋ค์ API๋ก ๋์๊ฐ์ ์ถ๊ฐ๋ก ์์ฑํด์ฃผ์
ํ์ผ๋ช ๊ณผ ์ฌ์ด์ฆ๋ฅผ ๋ฃ์ด์ฃผ๋ ์์ ์ ํด์ฃผ์๋ค.
ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ๋ค์ด๊ฐ๋ค ....!!!!!!!!!!!!!!!!!!!!!!
* ์ด์ ํด์ผํ ์ผ์,
์ฌ์ง ํ์ผ๋ง ์ ๋ก๋ ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์ด ์ค๊ฒ์ด๋ค.
(ํ์ฅ์ jpg, jpeg, png, gif ๋ง ํ์ฉ)
๊ทธ๋ผ ํ์ฉ๋ ํ์ฅ์๊ฐ ์๋ ๋ค๋ฅธ ํ์ฅ์๋ฅผ ์ ๋ก๋ํ๋ ค๊ณ ์๋ํ์ ์,
๋ค์๊ณผ ๊ฐ์ ๋ฉ์ธ์ง๋ฅผ ๋์ฐ๋์ง arc๋ฅผ ํตํด ํ์ธํด๋ณด์
ppt ํ์ผ์ ์์ฒญํ์ ์์
์ค์ ํ ๋ฉ์ธ์ง๋ฅผ ๋์ด์ค๋ค !!
์ฑ๊ณต !!!!!
** ์ฌ์ง์ ๋ฑ๋กํ ๋
uri๋ฅผ ๋ฃ์ด์ฃผ๋๋ก ํด์ฃผ์
๋ค์๊ฒ์๋ฌผ์์.. ์ด์ด์ ..์งํ ..
'๐ฎ Personal Project > shoppingmall service' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ด๋ฆฌ์ :: ์ํ ๋ฑ๋ก (+ ์ฌ์ง ํ์ผ ๋ฑ๋ก) (3) (0) | 2021.09.20 |
---|---|
๊ด๋ฆฌ์ :: ์ํ ๋ฑ๋ก (+ ์ฌ์ง ํ์ผ ๋ฑ๋ก) (2) (0) | 2021.09.19 |
๊ด๋ฆฌ์ :: ์ํ ๋ฑ๋ก (1) | 2021.09.19 |
๊ด๋ฆฌ์ :: ํ์ ์ ๋ณด ์ญ์ (0) | 2021.09.19 |
๊ด๋ฆฌ์ :: ํ์ ์ ๋ณด ๋ฆฌ์คํธ ์ถ๋ ฅ (0) | 2021.09.17 |