자동 삽입된 첨부이미지를 다운로드 하게 하는 링크 생성하는 방법 문의
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
안녕하세요.
첨부한 사진이 자동삽입된 이미지를 바로 내려받을 수 있는 버튼을 만들고 싶습니다.
우선 파일 명을 alt 기반으로 가져오는것은 간단하게 만들었습니다.
이제 저 사진파일명을 클릭하면 첨부파일이 다운로드 되게끔 만들어 주고싶은데요.
index.php?module=file&act=procFileDownload&file_srl=123456&sid=파일명
으로 첨부가 구성되어 잇는것 같습니다.
file_srl
값은 img 정보에 포함되어있는것 같은데
sid 값은 어떻게 구해야 할까요?
index.php?module=file&act=procFileDownload&file_srl=123456
이까지만 링크를 넣어보았는데
다운로드가 되지 않고 요청한 파일을 찾을 수 없습니다.의 에러가 발생합니다.
<img alt="첨부된파일제목" data-file-srl="123456" editor_component="image_link" src="/files/attach/images/2023/08/주소.jph" data-pswp-pid="1">
이값만 가지고 첨부파일 다운로드 링크를 만들어 줄 수 있을까요?
data-pswp-pid="1" 를 통해 첨부에 배열된 링크 첫번째 링크를 가져와라 뭐 이런식으로 활용하는 것일까요?
감사합니다.

톰캣
Lv. 11
시대의 흐름에 뒤떨어지지 않도록 아주 천천히지만 노력하고 있습니다.
댓글 14
sid 값은 files 테이블에서 조회하면 나올거예요
흔히 쓰는 file_list 같은 변수에서는 sid 값이안 나올겁니다
그 sid 값을 다 조합해서 download_url 이라는 값으로 전달을 하고 있어서
( 그런데 download_url 을 보통 전달해줄텐데.. 이를 이용하면 되지 않나요? )
사실은 src 값을 다운로드하면 되긴되는건데 조금 다른 상황입니다.
이미지 프로세스 모듈로 화질을 저하시킨 파일을 출력시키고
실제 파일 다운로드 버튼을 누르면 원본파일이 다운로드 되게끔 만들려고해서요.
자바스크립트로 files테이블의 sid 값을 불러오는것도 보안상 참.. 애매하고
이미 html 결과값이 나온걸로 첨부 url 값을 찾는것은 사실상 불가능에 가깝나보네요.
index.php?module=file&act=procFileDownload&file_srl=123456&sid=SID 값
으로 해보시면 되실듯합니다, 라이믹스 아직 초보라 확인이 힘듭니다 ㅠ
getModel('file')->getFile($file_srl);
에서 확인해보시기 바랍니다.
아마
$sid=getModel('file')->getFile($file_srl)->sid;
하면 나오지 않을까 싶습니다.
라이믹스는 getModel할 필요 없이 FileModel::getFile($file_srl)와 같이 사용 가능합니다.
php 단계는 이미 지나간것같습니다.
그냥 위와 같이 불러오시면 설정에 따라 알아서 다운로드 주소를 가져옵니다.
YJSoft 님 감사합니다.
act 값을 가져오고 값을 표시하는건 자바로 만들어서
값링크도 자바로 걸어주고 있습니다.
혹시 애드온에서
PHP 값을 와서 Java 변수에 할당해주려면
$sid = FileModel::getFile($file_srl)->download_url
로하면될런지요?
근데 이것또한 첨부파일 이미지별로 해주어야 할텐데 방법이 있을까요?
그리고 download_url 자체가 주소라서 별도 가공없이 출력하셔도 되긴할텐데 굳이 sid만 따로 가져와서 가공하신다면
$sid = "{FileModel::getFile($file_srl)->sid}";
처럼 작성하시면 자바스크립트 변수 $sid에 sid가 저장됩니다.
답변 감사합니다.
곰곰히 생각해보면
지금은 자바스크립트에서 html 의 data-file-srl 경로값으로 파일을 구분해주었는데
이미 php에서 처리가 된 이후인 상황이 아닐까요?
rx_documents의 content에 이미
<p><img alt="DSC1234.JPG" data-file-srl="1234" editor_component="image_link" src="/files/attach/images/2023/08/주소값.jpg" /></p>
저장된 이값을 가져와서 alt="DSC1234.JPG"의 DSC1234.JPG를 추출하고
오리지널 링크를 찾아야 하는상황인데 이게 자바스크립트나 애드온에서 가능한것일까요?
제가 생각한 방법은 이거 거든요.
결국 file_srl값으로 링크주소를 찾으려고해도 다시 그전의 php 값에서 가져와야하는상태인거네요.
이미 첨부파일은 배열로 나열되어있을텐데 그 배열에서 동일한 값을 찾는다거나 이것도 자바에서 처리가 될지 모르겠네요.
아니면 첨부되어있는 첨부리스트 배열을 받아와서 자바스크립트 변수로 주는 방법은 혹시 있을까요?
<li loop="$oDocument->getUploadedFiles()=>$key,$file">
<a href="{getUrl('')}{$file->download_url}" >{$file->source_filename}</a>
</li>
실제 게시판에서 반복되는 배열을 이것으로 보여지는데 순서는 분명 다를것이고