에디터에서 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 에서도 그에 합당한 수신측 코딩이 필요하겠죠
upload.php에서 var_dump나 print_r2를 사용하면 에러가 납니다.
필요한 변수를 echo json_encode로 넣어서 console.log로 하나씩 찍어 봐야 됩니다.