업로드 사진 링크 기능 구현하기
구현 목적
기존에 사진을 담고 API로 보낼때
해당 로컬에서 추가한 사진이 미리 보이게 만들고 싶었다.
다른 사람의 코드
아래 코드는 해당 링크의 코드를 통해 사용했다.
<!DOCTYPE html>
<html>
<body>
<input type="file" id="image" accept="image/*" onchange="setThumbnail(event);"/>
<div id="image_container"></div>
<script>
function setThumbnail(event) { var reader = new FileReader();
reader.onload = function(e) { var img = document.createElement("img"); img.setAttribute("src", e.target.result);
document.querySelector("div#image_container").appendChild(img); }; reader.readAsDataURL(event.target.files[0]); } </script>
</body>
</html>
React에 적용시키기
...
const onImgChange = (e) => {
e.preventDefault()
let reader = new FileReader()
reader.onload = function (event) {
setimageGetProps(event.target.result)
}
reader.readAsDataURL(e.target.files[0])
setImageUpload(e.target.files[0])
}
...
return
<Image
src={
imageGetProps
? imageGetProps
: 'https://via.placeholder.com/300.png'
}
></Image>
<input
type="file"
className="imgInput"
accept="image/*"
name="file"
onChange={onImgChange}
></input>
위쪽의 setThumbnail 부분이
onImgChange와 같은 부분을 담당한다.
reader.readAsDataURL(e.target.files[0])
를 통해 받아온 이미지를 Data를 지닌 url로 만들고- onload가 실행되면서 해당 매개변수로 받은 event를
setimageGetProps
라는 useState의 setState와 같이 처리해주어
image를 변경시킨다.
Author And Source
이 문제에 관하여(업로드 사진 링크 기능 구현하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@khw970421/사진-기능-구현하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)