반응형
안녕하세요.
최근에 드래그 앤 드롭 파일 업로드 기능을 추가하다가 파일 업로드 컴포넌트에 있던 오류를 발견해서 수정한 경험이 있어서 공유를 해보려고 합니다😀
오류 내용은 아래와 같았어요.
파일 업로드 오류
1. 파일A 선택 → <input> 요소의 change 이벤트 발생
2. 파일A 삭제
3. 파일A 선택 → <input> 요소의 change 이벤트 발생 안됨❗️
stackoverflow에 찾아보니, 같은 파일을 다시 선택할 경우 input value가 변경된 게 아니기 때문에 change 이벤트가 발생되지 않는 게 정상이라고 하더라구요.
해결 방법은 파일이 선택된 후 처리해줄 로직이 끝난 뒤에, input 요소의 value 값을 비워주면 된다고 합니다.
해결방법
<template>
<input
ref="imageUploader"
type="file"
@change="uploadImageFile($event.target)"
>
</template>
<script>
export default {
methods: {
uploadImageFile(target) {
// 파일 업로드 후 처리 할 로직...
// 솔루션: input 요소 값 초기화
this.$refs.imageUploader.value = ''
},
}
</script>
input 요소의 value 값을 ''으로 초기화해주면, 같은 파일을 재 업로드할 경우에도 change 이벤트가 정상적으로 발생되어서 재 업로드가 가능합니다👍 👍
참고
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] 정규 표현식(Regular expressions) (0) | 2024.06.25 |
---|---|
highcharts.js.map 404 오류 해결하기 (0) | 2022.03.15 |
[javascript] 함수 표현식과 함수 선언식 (0) | 2021.03.30 |
[공유하기] 모바일 웹 URL 복사 기능 구현하기 (0) | 2021.03.03 |
[공유하기] 모바일 웹에서 카카오톡 공유하기 기능 구현하기 (0) | 2021.03.03 |