질문/조언팁/리소스 공유

사이트로 파일이 업로드 되면 s3 버킷으로 파일을 업로드해 본문이미지랑 교체해주는 모듈입니다

(아직 코드 몇줄 안되지만 잘되네요...)

 

기진곰님 말대로 display.before 에서 htmlparser를 사용해서 이미지 src를 교체하는 방식으로 변경해서, 라이믹스 코어를 수정 안해도 되는방식으로 변경했습니다

 

본문 하단에 procFileOutput으로 다운받는 파일들은 어떻게 해야할지 모르겠네요

Atachment
첨부
  • profile
    코어 업데이트 하면 없어지죠?
  • profile profile
    네, 아무래도 file 모듈을 수정해야 되는것 같아서요... 라이믹스 코어에 이런 이미지 서버 지정기능이 추가되면 좋을 것 같네요
  • profile

    getDirectFileUrl()을 건드리면 본문에 삽입되는 이미지 주소가 영구적으로 바뀌어 버립니다. S3를 사용하다가 중단할 경우 모조리 엑박이 되어 버리겠죠. (현실적으로 S3의 가격에 메리트가 없으므로, 프리티어가 끝나면 사용을 중단하는 사례가 상당히 많을 것으로 예상됩니다. 외부 서비스와 연동하는 기능을 개발할 때는 그 서비스 이용을 중단해야 할 경우 어떻게 원상복구하느냐에 대한 고려가 반드시 필요합니다. 자칫하면 사이트 운영자만 낙동강 오리알 신세... ㅠ) 또한 외부이미지로 취급하게 되므로 썸네일 생성 등 다양한 부분에서 예상치 못한 부작용이 나타날 수 있습니다. 원본파일을 그대로 두고 S3에 사본만 업로드한다면 그나마 문제 소지가 적은데, 원본이 서버 용량을 계속 차지하도록 할 거라면 대체 왜 S3를 사용하느냐는 의문이 들겠지요...

    display.before 트리거를 잡아서 HTML 본문에 포함된 이미지 주소를 그때그때 바꿔준다면 S3 사용을 중단하더라도 문제가 없고, DB에 저장된 값은 원본 경로 그대로이므로 다른 부작용도 크게 줄일 수 있습니다. 이미지 캐시서버를 사용하시는 분들도 이 방법을 많이 사용합니다. 코어 수정은 전혀 필요하지 않습니다.

    라이믹스에서 다른 저장 방식을 지원할 계획이 아주 없는 것은 아니지만, 위에서 말씀드린 것처럼 여러 가지 문제가 있는데 비해 현실적으로 사이트 운영자분들에게 돌아가는 이득이 거의 없으므로 개발 우선순위는 매우 낮습니다.

  • profile profile
    ㅇㅎ 그렇군요... 감사합니다^^!
  • profile profile
    혹시 display.before 트리거를 사용했을때에, 함수에 html 이 파라미터로 호출이 된 다음,

    '{"files":[],"attached_size":"0Byte","editor_sequence":"19","upload_target_srl": ~'

    과 같은 파일 목록으로 한번더 호출 되는데 정상인건가요?
  • profile profile
    네, getFileList를 다시 호출합니다.