첨부파일 다운로드 불가

안녕하세요 게시판에 글을 올리고 첨부파일을 추가하면

그 첨부 파일을 클릭하면 로딩 화면이 뜨면서 아무 동작이 안되네요 

그래서 그 주소를 아예 복사해서 주소창에 붙여넣으면 

KBoard : 이 페이지는 외부에서의 접근을 제한하고 있습니다.

라는창이 뜨네요 

저와 같은 상황인 다른 게시글도 모두 읽어 보았는데,

        return home_url("?action=kboard_file_delete&uid={$uid}&file={$key}");

으로 변경하는 부분도 이미 변경이 되있었고

/kboard/execute/download.php 파일 6번째 줄을 주석처리 해주세요.

//if(!stristr($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'])) wp_die('KBoard : 이 페이지는 외부에서의 접근을 제한하고 있습니다.');

이 부분은 아예 파일경로가 존재하지 않습니다.

 

2. KBoard 대시보드에서 "첨부파일 다운로드 깨짐 방지 활성화"를 해주시고 다운로드를 시도해보세요.

이부분도 활성화 되어있습니다 또한 버전은 최신버전이구요 

 

 

 

답변 부탁드립니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 무슨파일인가요? 파일명이 이상하네요.

    서버에서 400 Bad Request 오류가 발생됩니다.

    서버쪽 오류이기 때문에 KBoard 문제가 아닐 수 있습니다.

    파일명이 문제인 듯합니다.

    다른파일로 해보세요.

  • 다른파일로 테스트 해보아도 마찬가지 입니다.

    파일명을 영어로해도 안되고 숫자로 해도 안되네요 메모장, 다른 이미지,문서 등 모두 다 안됩니다.

    근데 첨부파일명에서 오른쪽버튼을 눌러 새탭으로 열어서 확인하면 파일은 열립니다.

    현재 게시판 글쓰기 제한을 풀어둔 상태입니다.

    직접 테스트하셔도 됩니다.

    근데 이서버쪽 오류라기 보다는 다른 홈페이지에서도 안되네요 여기는 가비아쪽 사용하고 있구요

    답변부탁드립니다.

  • 확인해보니 정상적인 파일명에서는 400 Bad Request 오류는 발생하지 않는군요.

    보아하니 테마 문제입니다.

    테마 다른걸로 변경해서 테스트 해보시겠어요?

    테마에서 링크를 누르면 해당 페이지로 이동하는게 아니라 해당 페이지의 내용을 불러오기(?) 때문에 문제가 발생되는걸로 판단됩니다.

     

    사용하고 계신 스킨의 document.php 파일을 FTP 접속해서 수정한 다음 테스트 해보시겠어요?

    3가지 각각 다른방법을 올려드립니다.

    원래 코드를 찾아서 수정해주세요.

     

    원래 코드

    <?php if(isset($content->attach->file1)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <a href="<?php echo $url->getDownloadURLWithAttach($content->uid, 'file1')?>"><?php echo $content->attach->file1[1]?></a>
    </div>
    <?php endif?>

    <?php if(isset($content->attach->file2)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <a href="<?php echo $url->getDownloadURLWithAttach($content->uid, 'file2')?>"><?php echo $content->attach->file2[1]?></a>
    </div>
    <?php endif?>

     

    방법 1

    <?php if(isset($content->attach->file1)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <a href="<?php echo $url->getDownloadURLWithAttach($content->uid, 'file1')?>" onclick="window.open(this.href);return false;"><?php echo $content->attach->file1[1]?></a>
    </div>
    <?php endif?>

    <?php if(isset($content->attach->file2)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <a href="<?php echo $url->getDownloadURLWithAttach($content->uid, 'file2')?>" onclick="window.open(this.href);return false;"><?php echo $content->attach->file2[1]?></a>
    </div>
    <?php endif?>

     

    방법 2

    <?php if(isset($content->attach->file1)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <button onclick="window.location.href='<?php echo $url->getDownloadURLWithAttach($content->uid, 'file1')?>'"><?php echo $content->attach->file1[1]?></button>
    </div>
    <?php endif?>

    <?php if(isset($content->attach->file2)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <button onclick="window.location.href='<?php echo $url->getDownloadURLWithAttach($content->uid, 'file2')?>'"><?php echo $content->attach->file2[1]?></button>
    </div>
    <?php endif?>

     

    방법 3

    <?php if(isset($content->attach->file1)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <button onclick="window.open('<?php echo $url->getDownloadURLWithAttach($content->uid, 'file1')?>');return false;"><?php echo $content->attach->file1[1]?></button>
    </div>
    <?php endif?>

    <?php if(isset($content->attach->file2)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <button onclick="window.open('<?php echo $url->getDownloadURLWithAttach($content->uid, 'file2')?>');return false;"><?php echo $content->attach->file2[1]?></button>
    </div>
    <?php endif?>

  • 저도 안되서 애먹던 건데.. 해결방법 너무 감사합니다!. 

    2,3번째 방법이 먹히는데 죄송하지만 jpg, pdf파일이 그냥 열리기만 하는데요.

    열리지 않고 그냥 다운로드 받을수 있게 코드좀 부탁드려도 될까요!! 답변 부탁드려요~

  • 방법 1,2,3 모두 되는 해결이 되네요 감사합니다^^

    방법1같은 경우는 새창이 열려서 원래 페이지는 로딩이 계속 있는 상태라, 2번,3번으로 하는게 낫겠네요 

    혹시 window.open 대신에 바로 링크가 다운로드로 되는 소스로는 수정이 가능할까요? 

  • 아 현재 알려주신 방법중 3번을 사용중입니다. 

    글올려주신 분과 비슷한 테마로 문제가 되고 있는거 같습니다.

    크롬과 사파리에서 그럭저럭 작동하는데..

    익스플로에서 HTTP 500 오류가 뜹니다. (가비아페이지)

    어떻게 해야 되는건가요 ㅜㅜ 도움 부탁드립니다..

     

    아 그리고 3번 방법으로 ai,pdf, jpg 파일도 보여지지 않고> 새창에서 다운>새창 닫기 이런식으로 짜주실수 있나요?

    보여지더라도 자동 다운이 되었으면 좋겠습니다. hwp나 다른 파일들 처럼요.

     

    현재 크롬에서는 hwp,ai 자동 다운되구요. 사파리에서 .ai 파일 다운시 'postscript 변환 오류' pdf파일로 변환할 수 없습니다. 하고 자동 다운이 됩니다.

    이 문제는 어떻게 해결하면 좋을까요. 도움부탁드립니다 

    http://doodlingedu.co.kr/teacher-file/

  • 아 해결 방법을 찾았습니다..

     

    2번 방법으로 소스 수정하고

    '파일깨짐방지 비활성화' 하면

    다 잘 작동합니다...

     

    아무래도 파일깨짐방지활성화가 익스플로어랑 부딪히는거 같습니다.

    2번 소스로 하고 파일방지 활성화 했을시 다 잘 작동하려면 어떻게하면 좋을까요?

  • 기본값이 첨부파일 다운로드 깨짐 방지 비활성화 상태 입니다.

    비활성화로 다운로드가 된다면 비활성화 해주세요~!

    특별히 서버쪽 문제로 인해서 다운로드가 안된다면 활성화 해주시면 됩니다.

  • 아래와 같은 방법으로도 되는지 테스트 해주세요~

     

    방법 4

    <?php if(isset($content->attach->file1)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <a href="#" onclick="window.location.href='<?php echo $url->getDownloadURLWithAttach($content->uid, 'file1')?>';return false;"><?php echo $content->attach->file1[1]?></a>
    </div>
    <?php endif?>

    <?php if(isset($content->attach->file2)):?>
    <div class="kboard-attach">
        <?php echo __('Attachment', 'kboard')?> : <a href="#" onclick="window.location.href='<?php echo $url->getDownloadURLWithAttach($content->uid, 'file2')?>';return false;"><?php echo $content->attach->file2[1]?></a>
    </div>
    <?php endif?>

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요