업로드할 이미지의 미리보기

업로드할 이미지의 미리보기

QA

업로드할 이미지의 미리보기

본문

게시판에서 첨부파일(에디터X)에 사진을 선택한 경우나

회원가입시에 회원이미지 선택하는 경우에 이미지가 안보이고 

저장하고 다시 수정할때

이미지가 보이는데(게시판도 그렇게 수정해서 쓰고 있습니다. ) 

 

문득 궁금한것이 

 

아예 게시판이든 회원이미지든

선택단계에 미리보기를 한번 보도록 하고자 하는데요.

그런 프리뷰 기능이 있는 게시판 또는 가입 스킨이나  

그런기능이 구현된 팁을 찾다가 못찾아서 올려봅니다.

 

선택하자마자 업로드시키고 썸네일 보여줘야 하는거겠죠?

이 질문에 댓글 쓰기 :

답변 2



function readURL(input) {

    if (input.files && input.files[0]) {
        var reader = new FileReader();

        var $wrap = $(input).parent();
        if($wrap.find('.img_preview').length==0){
            $wrap.append("<div><img class='img_preview'/></div>");
        }

        reader.onload = function(e) {
            $('img.img_preview',$wrap).attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}
$(".frm_file ").change(function() {
    readURL(this);
});

게시판 스킨의 write.skin.php 의 <script>안에다가 위 소스 넣어주시면 됩니다.

그누 5.3버전일경우 이미지가 아마 삐져나오지 싶습니다.



if($wrap.find('.img_preview').length==0){
    $wrap.append("<div><img class='img_preview'/></div>");
}

위 부분을 조금 수정하시거나 하면 될거같네요.

구글링해서 html5소스 찾았습니다^^

<input id="fileUpload" type="file" multiple />
<div id="image-holder"></div>

 



$("#fileUpload").on('change', function () {

     //Get count of selected files
     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") {

             //loop for each file selected for uploaded.
             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("This browser does not support FileReader.");
         }
     } else {
         alert("Pls select only images");
     }
 });

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT