# 제한적인 업로드 식별 코드로 인해 업로드된 자산을 사용하는 테마 컴포넌트 작성에 어려움이 있습니다

**URL:** https://meta.discourse.org/t/restrictive-upload-identification-code-makes-it-tricky-to-write-theme-components-that-use-uploaded-assets/342757
**Category:** Feature
**Created:** [12월 16, 2024, 9:29오후 UTC](https://meta.discourse.org/t/restrictive-upload-identification-code-makes-it-tricky-to-write-theme-components-that-use-uploaded-assets/342757 "2024-12-16T21:29:00Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![abroun\_beholder](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/abroun_beholder/32/468190_2.png) [@abroun\_beholder](https://meta.discourse.org/u/abroun_beholder)
#### Post date: [12월 16, 2024, 9:29오후 UTC](https://meta.discourse.org/t/restrictive-upload-identification-code-makes-it-tricky-to-write-theme-components-that-use-uploaded-assets/342757/1 "2024-12-16T21:29:00Z")

</div>

안녕하세요,

최근 저는 Discourse 테마 컴포넌트([GitHub - Beholder-Vision/discourse-insert-model-3d: A Discourse theme component for adding 3D models to topics · GitHub](https://github.com/Beholder-Vision/discourse-insert-model-3d))를 작성했습니다. 이 컴포넌트는 Discourse 관리자가 포럼에서 3D 모델의 업로드와 표시를 활성화할 수 있도록 해줍니다.

처음에는 잘 작동하는 것 같았지만, 업로드된 일부 모델이 사라졌다는 보고를 받고 제 포럼을 확인해보니 업로드된 에셋(3D 모델과 포스터 이미지)도 정리(purge)되어 있음을 알게 되었습니다. [Insert Model 3D - #2 by patrickemin](https://meta.discourse.org/t/insert-model-3d/338558/2?u=abroun_beholder)

문서([Understanding Uploads, Images, and Attachments](https://meta.discourse.org/t/understanding-uploads-images-and-attachments/275735))를 읽었을 때, 업로드된 에셋은 게시물에 참조되고 있으므로 안전할 것이라고 생각했습니다. 하지만 좀 더 파고들어보니 서버에서 업로드를 식별하는 역할을 하는 것으로 보이는 이 코드([discourse/app/models/post.rb at 03bb43f7468d3aa6e73bba0805193ae50c7ec2d5 · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/03bb43f7468d3aa6e73bba0805193ae50c7ec2d5/app/models/post.rb#L1137))를 발견했습니다. 제가 파악한 바로는, 업로드된 파일이 게시물에 참조된 것으로 간주되려면 제한된 수의 HTML 태그 중 하나로 참조되어야 합니다. 따라서 `<a>` 요소의 href 속성으로 참조된 링크된 업로드는 인식되지만, `<model-viewer>` 요소의 src 속성으로 참조된 경우(제 새로운 테마 컴포넌트가 추가하는 것)에는 인식되지 않습니다.

해당 코드에 익숙한 분이 제 이해가 맞는지 확인해 주실 수 있을까요? 만약 제 이해가 맞다면, 테마 컴포넌트를 만드는 사람들이 에셋을 업로드로 표시하기 위해 해당 에셋을 참조하는 숨겨진 `<a>` 링크를 생성할 수 있을 것이라 생각합니다. 하지만 문서([Understanding Uploads, Images, and Attachments](https://meta.discourse.org/t/understanding-uploads-images-and-attachments/275735))에 이러한 함정이 강조되도록 업데이트되면 정말 유용할 것 같습니다.

감사합니다.  
Alan

---

_[View the full topic](https://meta.discourse.org/t/restrictive-upload-identification-code-makes-it-tricky-to-write-theme-components-that-use-uploaded-assets/342757)._
