4월, 2022의 게시물 표시

HTMLInputElement.files를 리셋하는 방법

  input[type=file,multiple] 요소가 있고, 파일이 선택될 때마다(onchange) 큐에 파일을 쌓고 input 요소는 초기화해야 하는 경우가 생겼습니다.   처음엔 HTMLFormElelment.reset()으로 해결을 할까 했는데, 그렇게 되면 다른 폼 구성요소들도 모두 초기화가 되기 때문에 안 되겠더라고요.   그래서 혹시나 하고 input 요소의 value를 ""(empty string)으로 설정하니 files 필드 역시 비워지는 것을 확인 했습니다.   즉, value를 비워버리면 files 필드 역시 비워진다는 의미입니다. 생각보다 간단하죠? 저도 그래서 놀랬습니다.

ASP.NET IFormFile 패러미터에 항상 null이 넘어온다면 고려해야 할 것

  <form>  엘리먼트의 enctype 이 multipart/form-data 로 지정되었는지 확인하고, 안 되어있다면 해당 값으로 변경.   TagHelper를 사용해도 마찬가지.  기본값은 enctype이 지정되지 않으므로 htmlAttributes 에 new { enctype = "multipart/form-data" } 를 넘길 것.