• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    해결됨

이미지 유효성

21.03.20 00:15 작성 조회수 246

1

안녕하세요 강사님.

이미지를 업로드시 해당 이미지가 진짜 이미지인지 아닌지 알수있나요? 예를 들면 텍스트 파일을 확장자만 변경한 경우처럼요.

자바스크립트에서 하는 방법을 몰라서, 파이썬 서버단에서 꼼수로 구현은 했는데, 클라이언트 단에서 가능한지 확인 부탁드립니다.

서버단에서는 저장하고 다시 읽어서 오류나면 삭제하는 방식으로 구현은 했는데,

try:
 img = Image.open(savefilepath)
img.close()
return url_for("board.board_images", filename=filename)
except:
os.remove(savefilepath)
return url_for("board.board_images", filename="error")

파일이름을 줄수 없어서 그냥 에러 처리해서 화면단에선 그림이 엑박됩니다.

답변 2

·

답변을 작성해보세요.

1

구글링을 해보니 아래과 같은 코드를 발견했습니다.

<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$().ready(function() {
  $('[type="file"]').change(function() {
    var fileInput = $(this);
    if (fileInput.length && fileInput[0].files && fileInput[0].files.length) {
      var url = window.URL || window.webkitURL;
      var image = new Image();
      image.onload = function() {
        alert('Valid Image');
      };
      image.onerror = function() {
        alert('Invalid image');
      };
      image.src = url.createObjectURL(fileInput[0].files[0]);
    }
  });
});
</script>
<input type="file" />

제가 작성해서 테스트 해본 결과로는 잘 동작하는걸로 보입니다.

첨언하자면 그렇게 꼼수를 늘리시다보면 실력도 점점 늘어갑니다. ㅎㅎ ^^

0

MIKE.aeon님의 프로필

MIKE.aeon

질문자

2021.03.28

답변 감사합니다. ^^