Camera API

- Camera API를 사용하면 디바이스의 카메라로 사진을 찍어 현재 웹페이지에 업로드 가능함.

 

HTML

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Camera API</title>
        <link rel="stylesheet" href="css/base.css" type="text/css" media="screen">
    </head>

    <body>

        <div class="container">
            <h1>Camera API</h1>

            <section class="main-content">
                <p>A demo of the Camera API, currently implemented in Firefox and Google Chrome on Android. Choose to take a picture with your device's camera and a preview will be shown through createObjectURL or a FileReader object (choosing local files supported too).</p>
                
                <p>
                    <input type="file" id="take-picture" accept="image/*"> <!--촬영된 사진파일전송-->
                </p>

                <h2>Preview:</h2>
                <p>
                    <img src="about:blank" alt="" id="show-picture"> <!--전송된 파일을 불러옴-->
                </p>

                <p id="error"></p>

            </section>

            <p class="footer">All the code is available in the <a href="https://github.com/robnyman/robnyman.github.com/tree/master/camera-api">Camera API repository on GitHub</a>.</p>
        </div>


        <script src="js/base.js"></script>


    </body>
</html>

JavaScript

(function () {
    var takePicture = document.querySelector("#take-picture"),
        showPicture = document.querySelector("#show-picture");

    if (takePicture && showPicture) {
        // Set events
        takePicture.onchange = function (event) { // 촬영된 사진이 전송되면
            var files = event.target.files,
                file;
            if (files && files.length > 0) {
                file = files[0];
                try {
                    var imgURL = window.URL.createObjectURL(file); 
                    showPicture.src = imgURL; // 이미지의 src 설정
                    URL.revokeObjectURL(imgURL);
                }
                catch (e) {
                    try {
                        // Fallback if createObjectURL is not supported
                        var fileReader = new FileReader();
                        fileReader.onload = function (event) {
                            showPicture.src = event.target.result;
                        };
                        fileReader.readAsDataURL(file);
                    }
                    catch (e) {
                        //
                        var error = document.querySelector("#error");
                        if (error) {
                            error.innerHTML = "Neither createObjectURL or FileReader are supported";
                        }
                    }
                }
            }
        };
    }
})();
0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

HTML/CSS/기타

번호 제목 글쓴이 날짜 조회수
46 JS 글자수 체크(공백포함, 제외) 및 언어 옵션 설정 관리자 09-02 44
45 web chart - 실시간 차트 관리자 07-25 121
44 비동기 프로그래밍 관리자 07-25 92
43 table thead 고정과 tbody 스크롤 관리자 07-23 128
42 datepicker 사용하여 공휴일 직접 지정하기 관리자 06-11 189
41 Dropzone - 이미지 & 파일 업로드 (드래그 앤 드롭) 라이브러리 관리자 03-06 383
40 JSPDF 사용법(Javascript pdf) 관리자 03-04 534
39 FullCalendar(풀캘린더) 어거지 사용법 관리자 01-25 574
38 JQUERY - id가 여러개인데 한번에 찾고 싶을때! ${} 관리자 12-28 412
37 [CSS] 가로 스크롤 구현하기 관리자 12-27 541
36 JCROP을 이용한 업로드한 크롭( CROP ) 하기 관리자 12-27 482
35 제이쿼리 - 모달 다이아로그 및 여러 알림창들 관리자 12-21 245
34 Javascript/jQuery 이미지 회전 돋보기 관리자 11-07 572
33 Resolving the Issue of Fakepath in JavaScript 관리자 10-26 277
32 div 및 요소 화면 중앙에 위치시키기 관리자 10-21 311
31 [Jquery] 체크박스 전체 체크 , 해제 하는 방법 관리자 10-19 310
30 display 스타일 속성 사용하여 행 숨기기/보이기 관리자 09-16 614
29 자주 사용하는 비주얼 스튜디오 코드(Visual Studio Code, VSC, vscode) 단축키 정리 관리자 09-14 707
28 div 2개 나란히 정렬하는 방법 관리자 09-09 466
27 HTML, CSS - 헤더컬럼 고정형 table 구성하기 관리자 09-06 346