웹에서 이미지를 업로드 할때 업로드할 이미지를 미리 보여주기가 필요할때 있습니다. 업로드 하면 이런식으로 올라갈거다 라고 알려주듯이 말이죠. 이 기능이 필요해서 구현하려고 하는데, 최근 브라우저에서는 보안 상의 이유로 이미지의 로컬 경로를 "fakepath" 로 반환 해주더군요.


이 것 때문에 골치를 썩고 있었는데 적절한 방법을 알아내서 포스팅 해봅니다. 간단하게 아래와 같이 javascript를 추가해주면 됩니다.


출처 : http://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded


<script type="text/javascript">
        function readURL(input) {
            if (input.files && input.files[0]) {
                var reader = new FileReader();
                reader.onload = function (e) {
                    $('#blah').attr('src', e.target.result);
                }
                reader.readAsDataURL(input.files[0]);
            }
        }
</script>


<body>
    <form id="form1" runat="server">
        <input type='file' onchange="readURL(this);" />
        <img id="blah" src="#" alt="your image" />
    </form>
</body>

+ Recent posts