๐ ๋จธ์ ๋ฌ๋ ํ ํ๋ก์ ํธ
๐ญ ์ฌ์ง ์
๋ก๋ ๋ฐ ๊ฒ์
- ์ฐ๋ฆฌ ํ์ด ์ ํ ๊ฒ๊ณผ ๊ฐ์ด ์ฌ์ฉ์๊ฐ ๋ฌผ๊ณ ๊ธฐ์ ์ฌ์ง์ ์
๋ก๋ํ๊ฒ ๋๋ฉด, ํด๋น ์ฌ์ง์ db์ ์ ์ฅํ๋ ๊ฒ๊ณผ ๋์์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ค ์ ์๋๋ก ํ์๋ค.
- ์ฌ์ง์ ๊ฒฝ๋ก๋ฅผ db์ ์ ์ฅํ๋ ๊ฒ์ ์ด๋ฏธ ์ ๋ฒ ์ฃผ์ ๋ง๋ฌด๋ฆฌํ์์ง๋ง, ํด๋น ์ฌ์ง์ ์ ์ฅํ๋ ๋์์ ์ฌ์ฉ์์๊ฒ ์ ์ํ๋ ๊ฒ์์ ๋ง์ ๋ฌธ์ ๊ฐ ์์๋ค.
- ๋ฌธ์ ์
- ajax ์ฝ์ ํ๊ฒ ๋๋ฉด Live Server๊ฐ ์๋์ผ๋ก ์๋ก๊ณ ์นจ๋์๋ค.
- ์ฐ๋ฆฌ๋ ์ด๋ฒ ํ๋ก์ ํธ์์ VS Code๋ฅผ ์ฌ์ฉํ์๋ค. Live Server๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด์ ์์ ๋ฌธ์ ์ ์ด ๋ฐ์ํ์๊ณ , ์์ฒญ๋ ์๊ฐ์ ๋ค์ฌ ๊ตฌ๊ธ๋ง์ ํ๊ณ ์ง์ธ์ฐฌ์ค๋ ์จ๋ดค์ง๋ง ํด๊ฒฐํ์ง ๋ชปํ๋ค.
- ์ค๋ ์คํ ํํฐ๋๊ป ์ฌ์ญค๋ดค๋๋ฐ Live Server์
์ค์
์ ์์ ํ๋ ๊ฒ์ ์๋ ค์ฃผ์
จ๋ค.
ํ์ฅ - ๋ผ์ด๋ธ ์๋ฒ - ํ์ฅ ์ค์ - settings.json์์ ํธ์ง
๋งจ ์๋ซ์ค์ ์ถ๊ฐํด ์ฃผ์๋ค.
- ํด๋น ์์
์ ํตํด ์๋์ผ๋ก ์๋ก๊ณ ์นจ๋๋ ํ์์ ํด๊ฒฐํ์๋ค.
- ๊ฒฝ๋ก ์ค์ ์์์ ๋ฌธ์ ์
- ์ด์ ๊น์ง ์ ๋๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์๋๋ฐ, ๊ทธ๋๋ db์๋ ์ ์ฅ์ด ์์ํ๊ฒ ๋์๋ค. ํ์ง๋ง ์ฌ์ง ์ ์ฅ์ด ๋์ง ์์ ์๋๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํด ๋ณด์๋ค.
- ๋ฐ๋ผ์ ์๋์ ๊ฐ์ด ๊ฒฝ๋ก๋ฅผ ์์ ํด ๋ณด์๋ค.
@app.route("/upload", methods=['POST'])
@authorize
def upload_image(user):
image = request.files['image_give']
extension = image.filename.split('.')[-1]
today = datetime.now()
mytime = today.strftime('%Y%m%d%H%M%S')
filename = f'{mytime}'
save_to = f'backend/fish/{filename}.{extension}'
image.save(save_to)
save_to = "../" + save_to
user = user['id']
doc = {
'image': save_to,
'user_id': user
}
db.image.insert_one(doc)
return jsonify({'result': 'success', 'user_id': user, 'save_to': save_to})
๊ฒฝ๋ก ์์ ํ, db์๋ ํ์ผ์ ์ด๋ฆ์ด ์ ๋ค์ด๊ฐ๊ณ , ์ฐ๋ฆฌ๊ฐ ๊ทธํ ๋ก ์ํ๋ ํ๋ฆฌ๋ทฐ ๊ธฐ๋ฅ๋ img ํ๊ทธ์ src๋ฅผ ํตํด ์ ์ ์ฉํ ์ ์์๋ค.