테스트 사이트 - 개발 중인 베타 버전입니다

ck에디터 5 이미지 업로드 관련 질문 입니다. 채택완료

᠋᠋᠋᠋익명닉네임 2년 전 조회 2,020

그 이미지 업로드 하는거 까지 다 만들었는데

이미지를 업로드 하고 불러올때 갑자기 이미지가 안보이더니 소스보기 하니까

</p>

<p><img srcset="h 0w, t 1w, t 2w, p 3w, s 4w, : 5w, / 6w, / 7w, c 8w, d 9w, n 10w, . 11w, g 12w, 9 13w, a 14w, p 15w, p 16w, . 17w, c 18w, o 19w, . 20w, k 21w, r 22w, / 23w, i 24w, m 25w, g 26w, / 27w, u 28w, p 29w, l 30w, o 31w, a 32w, d 33w, / 34w, K 35w, - 36w, 0 37w, 1 38w, 0 39w, . 40w, p 41w, n 42w, g 43w" sizes="100vw" width="43"></p>

<p>

이렇게 바꿔버리는데 왜그런가요?? 그 ck에디터 공식 사이트 가서 대충 보니까 반응형 뭐라던데 .. 이거 해결하는 방법은 없을까요 ??

 

아차 업로드하는 php 소스 는 이겁니다.

 

</p>

<p><?php

header('Content-Type: application/json'); // JSON 응답 헤더 설정</p>

<p>include_once('./_config.php');</p>

<p>if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["file"])) {

    $targetDirectory = G5_IMG_PATH."/upload/"; // 이미지를 저장할 디렉토리 경로

    $targetURL = G5_IMG_URL."/upload/"; // 이미지를 불러올 파일 경로

    $originalFileName = basename($_FILES["file"]["name"]);

    // 파일명을 MD5 해싱하여 고유한 파일명 생성

    $uniqueFileName = md5(time() . $originalFileName) . '.jpg'; // 여기서 '.jpg'는 확장자입니다.

    $uploadedFile = $targetDirectory . $uniqueFileName;

    $uploadedURL = $targetURL . $uniqueFileName;</p>

<p>    if (move_uploaded_file($_FILES["file"]["tmp_name"], $uploadedFile)) {

        $response = [

            "url" => $uploadedURL, // 업로드된 이미지의 URL

            "uploaded" => true

        ];

    } else {

        $response = [

            "uploaded" => false,

            "error" => "파일 업로드 중 오류가 발생했습니다."

        ];

    }</p>

<p>    echo json_encode($response); // JSON 응답 반환

}

?></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
j
2년 전

이미지 주소를 잘못 컨트롤 하신 것 같네요.

이미지 주소의 도메인이 cdn.g9app.co.kr이죠?

 

배열을 잘못 풀어 출력하셨다던가.. 그런 문제로 보이네요. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

᠋᠋᠋᠋익명닉네임
2년 전
억. 이미지 도메인 주소를 어찌 아셨찌 ?? 근데 저렇게 세팅해놓은게 cdn.g9app.co.kr/dist/img/ 로 되게 해놨거든요.

혹시 몰라서 서브 도메인이 아닌 일반게시판 출력하는 도메인으로도해봤는데도 그렇더라구요.
᠋᠋᠋᠋익명닉네임
2년 전
하지만 별 쇼를 다해도 해결이 안되서 다른걸로 소스 갈아탔는데 이젠 Cannot upload file 에러 뜨는 ㅎㅎ;; ㅋㅋ
j
jihan?
2년 전
srcset에서 '숫자w' 문자를 전부 제거해보면 주소가 보이죠. 그러니까 이미지 경로를 뭔가 잘못 출력한거죠.

아마도 해상도별 이미지 경로를 받아올 때 해상도별 이미지 목록 배열이 아니라 문자열을 반복문에서 돌려서 출력해버린 탓이 아닐까 싶네요.

받아오는 이미지 주소의 자료형과 출력하는 쪽에서 자료형에 맞게 출력하고 있는지 확인하셔야 할 것같네요.
j
jihan?
2년 전
$response = [
"url" => $uploadedURL, // 업로드된 이미지의 URL
"uploaded" => true
];




아마도 프론트엔드 쪽 라이브러리를 가져다 쓰신거라면 해당 라이브러리에선 이미지 url에 배열을 넘겨줘야할 것같네요. url에 $uploadedURL을 배열로 넘겨보세요.

뭔지 모르니 대충 넘겨 짚은 것일 뿐이니 해당 라이브러리 문서를 참고하시는게 좋겠네요.
᠋᠋᠋᠋익명닉네임
2년 전
그냥.... 썸머로 갈아탔습니다..ㅠㅠ 도와주셔서 감사합니다.~

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인