에디터에서 Image upload하기 #2

에디터에서 Image upload하기 #2

QA

에디터에서 Image upload하기 #2

본문

아래 질문에 이어서..

이미지 파일을 올릴때..  ajax를 사용하고 있습니다.

ajax로 보낼때와 xtmlHttpRequest로 보낼때의 차이가 어떻게 되나요?

같은 방식인지?

upload.php를 수정안하고 아래 코드를 xtmlHttpRequest로 사용이 가능한지요?

 

<code>

function sendFile(file, editor) {

 

   data = new FormData();

   data.append("SummernoteFile", file);

   $.ajax({

        data: data,

        type: "POST",

        url: "<?php echo $editor_url ?>/upload.php",

        cache: false,

        contentType: false,

        processData: false,

        success: function(data) {

            var obj = JSON.parse(data);

            if (obj.success) {

                $(editor).summernote("insertImage", obj.save_url);

            } else {

                switch(parseInt(obj.error)) {

                    case 1: alert('업로드 용량 제한에 걸렸습니다.'); break;

                    case 2: alert('MAX_FILE_SIZE 보다 큰 파일은 업로드할 수 없습니다.'); break;

                    case 3: alert('파일이 일부분만 전송되었습니다.'); break;

                    case 4: alert('파일이 전송되지 않았습니다.'); break;

                    case 6: alert('임시 폴더가 없습니다.'); break;

                    case 7: alert('파일 쓰기 실패'); break;

                    case 8: alert('알수 없는 오류입니다.'); break;

                    case 100: alert('이미지 파일이 아닙니다.(jpeg, jpg, gif, bmp, png 만 올리실 수 있습니다.)'); break;

                    case 101: alert('이미지 파일이 아닙니다.(jpeg, jpg, gif, bmp, png 만 올리실 수 있습니다.)'); break;

                    case 102: alert('0 byte 파일은 업로드 할 수 없습니다.'); break;

                }

            }

        }

    });

}

</code>

이 질문에 댓글 쓰기 :

답변 2

자게에도 답을 드린 내용입니다만

---------

 Ajax는 의미적인 용어이구요 

XMLHTTPRequest 는 
표준웹브라우저에서 Ajax를 구현하기위한 내장 객체 입니다. 

위에서 말씀하신 Ajax는 jQuery의 ajax 인가요? 
그것이라면 jQuery에서 ajax 를 쉽게 접근하도록 정리한것뿐입니다. 
내부적으로는 동일한 객체를 사용합니다.

---------------

 

클라이언트쪽에서 파일을 위와같이 구현하셨다면

 

파일을 받는 upload.php 에서도 그에 합당한 수신측 코딩이 필요하겠죠

 

 

보내는 위의 코드는 파일을 하나씩 보내는 ajax 코드입니다.  에디터 내부의 코드를 보면  xtmlHttpRequest 어쩌구 하면 file array를 통으로 보냅니다.

혹시 2가지로 나눠진 코드를 디버깅하는 방법좀 알려주세요..  변수값을 찍어 볼수 있는 방법..

upload.php에서 var_dump나 print_r2를 사용하면 에러가 납니다. 

필요한 변수를 echo json_encode로 넣어서 console.log로 하나씩 찍어 봐야 됩니다.

 
upload.php 에서
그누보드의 공통 파일인

/common.php 가 인크루드 되지 않은것은 아닌지 확인해보세요
print_r2 는 common.php 가 인클루되어야 사용가능합니다.

var_dump는 PHP 내장함수인데 버전확인해보셔야겠네요

답변을 작성하시기 전에 로그인 해주세요.
전체 530
QA 내용 검색

회원로그인

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