이 글에서는 주로 JavaScript가 FileReader를 사용하여 이미지 업로드 미리보기 효과를 얻는 방법을 자세히 소개합니다. 관심 있는 친구가 참조할 수 있습니다.
FileReader는 HTML5 파일 API의 일부입니다. 비동기 파일 읽기 메커니즘을 구현합니다. FileReader는 원격 서버가 아닌 파일 시스템을 읽는다는 점을 제외하면 XMLHttpRequest로 생각할 수 있습니다. 파일의 데이터를 읽기 위해 FileReader는 다음과 같은 메소드를 제공합니다.
readAsText(file,encoding): 파일을 일반 텍스트로 읽고 읽은 파일을 result 속성에 저장합니다.
readAsDataURL(file): 파일을 읽고 결과 속성에 파일을 데이터 URI 형식으로 저장합니다.
readAsBinaryString(file): 파일을 읽고 결과 속성에 문자열을 저장합니다. 문자열의 각 문자는 1바이트를 나타냅니다.
readAsArrayBuffer(file): 파일을 읽고 결과 속성에 파일 내용이 포함된 ArrayBuffer를 저장합니다.
multiple 속성은 여러 이미지에 대한 지원을 나타냅니다.
<p id="wrapper"> <input id="fileUpload" type="file" multiple /><br /> <p id="image-holder"> </p> </p>
$("#fileUpload").on('change', function () { //获取上传文件的数量 var countFiles = $(this)[0].files.length; var imgPath = $(this)[0].value; var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase(); var image_holder = $("#image-holder"); image_holder.empty(); if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") { if (typeof (FileReader) != "undefined") { // 循环所有要上传的图片 for (var i = 0; i < countFiles; i++) { var reader = new FileReader(); reader.onload = function (e) { $("<img />", { "src": e.target.result, "class": "thumb-image" }).appendTo(image_holder); } image_holder.show(); reader.readAsDataURL($(this)[0].files[i]); } } else { alert("你的浏览器不支持FileReader!"); } } else { alert("请选择图像文件。"); } });
FileReader는 Internet Explorer 10 이상, FireFox, Chrome 및 Opera 브라우저를 지원할 수 있습니다.
위 내용은 FileReader를 사용하여 이미지 업로드 및 미리보기를 완료하는 JavaScript 기능 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!