저는 디스커스 커뮤니티에서 파일을 호스팅하기 위해 s3를 사용하고 있으며, iOS 앱을 만들었습니다. PDF 파일을 앱에서 열지 않고 다운로드하도록 하고 싶습니다.
링크 다운로드를 위한 해결책을 찾았는데요:
<a href="download-url?wtn-download-file=true"> download File</a>
하지만 s3에 업로드된 PDF 파일의 경우 어떻게 해야 할지 모르겠습니다.
저는 디스커스 커뮤니티에서 파일을 호스팅하기 위해 s3를 사용하고 있으며, iOS 앱을 만들었습니다. PDF 파일을 앱에서 열지 않고 다운로드하도록 하고 싶습니다.
링크 다운로드를 위한 해결책을 찾았는데요:
<a href="download-url?wtn-download-file=true"> download File</a>
하지만 s3에 업로드된 PDF 파일의 경우 어떻게 해야 할지 모르겠습니다.
수정: 주제를 잘못 이해해서 내 답변을 삭제합니다 ![]()
thoka, 고마워요 ![]()
음. 그는 내 기능 요청과 정반대인 것을 요구하는 것 같네요 …
이 소스에 따르면, 테마 컴포넌트를 통해 해당 링크에 download 속성을 추가하면 원하는 동작을 구현할 수 있습니다.
모든 PDF 링크를 변경하는 방법을 찾아야 해요… 링크가 거의 3,000개나 되거든요
디스코urs 리맵(discourse remap) 문제로 해결될 것입니다.
주의사항: 먼저 스테이징 사이트에서 테스트해 보십시오. 의도대로 작동하지 않을 수 있습니다.
안녕하세요 ![]()
이 주제가 동일한 문제인 것 같습니다: Force download pdf on IOS
이를 위해 api.decorateCookedElement를 사용해야 합니다.
아래와 같은 코드가 작동할 것입니다 ![]()
컴포넌트의 Header 섹션에 배치하세요.
<script type="text/discourse-plugin" version="0.8.42">
api.decorateCookedElement(
element => {
const pdfFiles = element.querySelectorAll("a.attachment[href$='.pdf']");
if (!pdfFiles.length) {
return;
}
pdfFiles.forEach((pdf) => {
pdf.setAttribute("download", "");
});
},
{ id: "download-pdf", onlyStream: true }
);
</script>
제 기기에서 테스트해 보았으며 제 환경에서는 정상 작동합니다. 다른 속성 등을 사용하려면 쉽게 수정할 수 있습니다… 도움이 되길 바랍니다 ![]()