이미지 업로드 미리보기 기능은 주로 이미지를 업로드하기 전 효과를 미리보기 위해 사용됩니다. 현재 주류 방식으로는 js, jquery, flash 등이 주로 사용되지만, 우리는 일반적으로 js를 사용하여 이미지 업로드 미리보기 기능을 살펴보겠습니다. 한 가지 예에서.
원칙:
이미지 업로드 입력이 트리거되고 로컬 이미지가 선택되면 업로드할 이미지 객체의 URL(객체 URL)을 획득하고 src에 객체 URL을 할당하는 두 단계로 나뉩니다. 미리 작성된 img 태그의 속성입니다.
여기서는 Javascript의 File 객체, Blob 객체, window.URL.createObjectURL() 메소드를 이해해야 합니다.
파일 개체:
파일 개체는 파일에 대한 정보를 얻는 데 사용할 수 있으며 이 파일의 내용을 읽는 데에도 사용할 수 있습니다. 일반적으로 파일 개체는 사용자가 입력 요소에서 파일을 선택한 후 반환되는 FileList 개체입니다. 드래그 앤 드롭 작업으로 생성된 DataTransfer 개체에서 가져옵니다. FileList 개체를 가져오는 방법을 살펴보겠습니다.
Blob 객체는 읽기 전용 원시 데이터를 포함하는 파일과 유사한 객체입니다. Blob 객체의 데이터는 반드시 JavaScript의 기본 형식일 필요는 없으며 Blob의 기능을 상속합니다. Blob 및 확장 지원 사용자 컴퓨터의 로컬 파일. 파일 인터페이스가 Blob을 상속하기 때문에 우리가 얻으려는 객체 URL은 실제로 Blob 객체에서 얻습니다. Blob 개체를 URL로 변환해 보겠습니다.
위 방법은 크롬 브라우저에 적용됩니다 IE 브라우저라면 src 대신 입력값을 직접 이용하시면 됩니다 온라인에서 정보를 보시려면 File의 getAsDataURL() 메소드를 직접 이용하시면 됩니다. 이제 이 메소드는 모두 폐지되었습니다. 유사한 메소드로는 getAsText() 및 getAsBinary()가 있습니다.
$("#loadFile").change(function () { var strSrc = $("#loadFile").val(); img = new Image(); img.src = getFullPath(strSrc); //업로드된 파일 형식이 올바른지 확인 var pos = strSrc.lastIndexOf(".") var lastname = strSrc.substring(pos, strSrc.length) if (lastname.toLowerCase() != ".jpg") { Alert("업로드한 파일 형식은 "성"이며, 이미지는 JPG 형식이어야 합니다."); 🎜> return false; } //업로드된 파일의 가로 세로 비율을 확인합니다.
if (img.height / img.width > 1.5 || img.height / img.width < ; 1.25) { warning("업로드한 이미지의 비율이 범위를 벗어났습니다. 가로세로 비율은 1.25~1.5 사이여야 합니다.") return } //여부 확인 업로드된 파일이 크기를 초과했습니다. if (img .fileSize / 1024 > 150) { Alert("업로드한 파일 크기가 150K 제한을 초과했습니다!") return false;
그 중 loadFile은 html 입력 파일의 ID입니다. 변경 이벤트, 즉 업로드할 파일을 선택한 후 그림 상자에 이미지를 표시하시겠습니까? 위 코드 끝에 다음 코드를 추가하세요.