๋ฐฉ๋ฒ์ 2๊ฐ์ง๊ฐ ์๋ค. (css๋ ๋ชจ๋ ์ ๊ฑฐํ ์ํ์ด๋ฏ๋ก ๋ชจ์์ด ์์์ง ์์)
1. FileReader()๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ๋น๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ค.
- base64๋ก ์ธ์ฝ๋ฉ๋ ๊ฐ์ ๋ฐํ
2. URL.createObjectUrl()์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ๋๊ธฐ์ ์ผ๋ก ์คํ๋๋ค. ์คํ ์๋๊ฐ ์กฐ๊ธ ๋ ๋น ๋ฅด๋ค.
- hash ํํ์ url์ ๋ฐํ
โ FileReader ์ฌ์ฉ
const uploadImg = (e) => {
var input = e.target;
if (input.files && input.files[0]) { //์ฌ์ง 1๊ฐ์ธ ๊ฒฝ์ฐ (multiSelect ํ๋ ค๋ฉด for๋ฌธ ๋๋ ค์ผํจ)
var reader = new FileReader();
reader.onload = (e) => {
state.imgUrl = e.target.result;
};
reader.readAsDataURL(input.files[0]);
}
};
โ URL.createObjectUrl ์ฌ์ฉ
const uploadImg = (e) => {
let file = e.target.files;
let url = URL.createObjectURL(file[0]);
state.imgUrl = url;
};
๋ ๋ฐฉ๋ฒ ๋ค, imgUrl ๋ณ์์ ์ด๋ฏธ์ง url ์ ์ถ์ถํ์ฌ ๋ฃ์ด์ฃผ๋ฏ๋ก <img> ํ๊ทธ์์ ๋ฟ๋ ค์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
<input @change="uploadImg" type="file" />
<img :src="imgUrl" />
'๐ Language > Vue' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Vuejs] <input> ํ๊ทธ์ ์ ๋ ฅํ ์ /ํ value ๋ฐ์์ค๊ธฐ (Vuejs get old value when on change event) (0) | 2023.07.13 |
---|---|
[vuejs] route๋ฅผ ํตํด ๋ฐ์ ์ค์ฒฉ๋ ๊ฐ์ฒด param๊ฐ, [Object object] ๋จ๋ ๋ฌธ์ ํด๊ฒฐ (0) | 2023.03.31 |
[vuejs] vue-router ์ค์ฒฉ ๋ผ์ฐํ (0) | 2023.02.07 |
[vuejs] vue-router ๋์ ๋ผ์ฐํ (0) | 2023.02.07 |
[vuejs] v-for์ index ์ฐจ์ด (0) | 2023.02.01 |