1

주제: blogapi 사용 이미지 업로드 문제

왠만하면 혼자 해결해 보려고 해도 도저히 못하겠네요 sad

Winodows live writer를 사용해서 포스팅을 하고 있는데- 이미지를 첨부할 경우에 제대로 뜨지가 않더군요.
업로드가 안되나 싶어서 글 수정으로 들어가 보면 파일은 첨부되어 있는데 경로 설정이 제대로 되지 않는 것 같아 보입니다.
포스팅 된 html소스를 보면 live writer를 통해 업로드 된 첨부파일들은

http://tt_attach_path/파일명.확장자

로 등록이 되어 있던데

[##_ATTACH_PATH_##]로 바꿔보니 에디터에서도, 글에서도 제대로 보이더군요.

그래서

textcube root folder/blog/lib/model/blog.api.php

파일의 949 라인을 수정해 보았습니다.

949 : $attachurl = array ( 'url' => 'http://tt_attach_path/' .  $attachment['name']); 를

949 : $attachurl = array ( 'url' => '[##_ATTACH_PATH_##]/' .  $attachment['name']); 로

그리고 다시 포스팅을 시도 했더니 여전히 이미지가 제대로 안뜨더군요. 다시 HTML 소스를 확인하니 경로가

http://제 호스팅서버/텍스트큐브 경로/%5B#%23_ATTACH_PATH_%23%23%5D/파일명.확장자

로 변경되어 있었습니다.

url로 사용될 수 없는 문자로 예상되는 것들이 자동 치환되고 http 로 시작하는 경로가 붙은 걸 보니
아무래도 live writer에서 업로드 하기 전에 내부적으로 경로를 점검후에 블로그로 보내는 듯 하네요.
그런 이유로 경로를 http가 포함된 http://tt_attach_path/ 로 사용하신 것 같은데,
모든 파일들을 다 검색해 보니

$view = str_replace('http://tt_attach_path/', ($useAbsolutePath ? "$hostURL{$service['path']}/attach/$blogid/" : ($folderURL . '/')), $view);

이 구문이 세개의 파일에 포함되어 있더군요
그런데 그 세개의 파일은 포매터 플러그인 들이었습니다. (각 포매터 플러그인의 ttml.php)

이 플러그인들은 글 작성이나 수정시에만 쓰이는 플러그인들 아닌가 싶은데..

어쨌든 혹시나 싶어 모든 포매터 플러그인을 활성화 시켜도, 하나씩 활성화 시켜봐도 모두 비활성화 시켜봐도(TTML포매터는 비활성화가 안되더군요) 여전히 제대로 이미지가 뜨지 않습니다.

textcube root folder/lib/piece/blog/entries.php 의 38번에 새 라인을 추가해서

38 : $entry['content'] = str_replace('http://tt_attach_path/', ("$hostURL{$service['path']}/attach/$blogid/"), $entry['content']);

위 구문을 입력하니 제대로 보이더군요-

그런데 이렇게 해봐야 텍스트큐브에서 글 수정시나 다른 서비스로의 데이터 이동시(Tistory나 Textcube.com) 여전히 문제가 되던데

Tistory나 Textcube.com으로는 windows writer를 사용하여 이미지를 업로드 하면 경로가

[##_ATTACH_PATH_##] 이렇게 지정되더군요.

왜 설치형 텍스트 큐브만 경로가 다르게 지정되는건가요? 혹시 특별한 이유가 없다면

티스토리나 텍스트큐브닷컴 처럼 blogapi를 통해 업로드된 첨부파일들의 경로를 [##_ATTACH_PATH_##] 로 지정하도록 변경하려면 어떻게 해야 하는지 도움 부탁드립니다.

도저히 소스 따라다니면서 해결하기엔 너무 봐야할 소스들이 많고 제 능력도 안따라 주네요-

pejold (2008-07-26 12:56:17)에 의해 마지막으로 수정

2

답글: blogapi 사용 이미지 업로드 문제

티켓 #1063로 등록하였습니다.

문제의 답은 우리 안에 있다.
내면에 귀를 기울여 보자.