PHP

Pintura + Filepond + PHP 이미지 멀티 업로드 및 편집

개발폐인 2023. 6. 23. 13:54

 

https://pqina.nl/pintura/

 

Pintura Image Editor, a Powerful JavaScript Image Editor SDK

A powerful JavaScript Image Editor that integrates with every stack. Fully configurable and works intuitively on every device.

pqina.nl

이미지를 직접 하나씩 편집하는 경우는 Pintura 를 사용하고,

멀티파일 업로드 및 멀티파일 업로드와 이미지 편집을 하는 경우는 Pintura + Filepond 를 사용하여야 한다.

 

처음 공식 메뉴얼을 보면 뭐가 뭔지 알수 없는데, Pintura 는 웹 이미지(동영상) 편집기이고, 

파일 업로드 처리는 다른 자바스크립트 라이브러리와 연동하여야 한다. 

(다행히 두개의 솔루션은 같은 업체에서 관리한다. 참고로 Pintura 는 유료 솔루션이고, Filepond 는 오픈소스이다.)

 

국내 서비스나 커뮤니티 서비스, 사진 갤러리 등에서 사용할려면, Pintura+Filepond 조합이 좋다.

다른 여러 솔루션과 연동이 가능하지만, 원하는 결과를 얻기 힘든데, 각 솔루션의 역활이 다르기 때문이다.

 

멀티 파일 업로드는, Jquery 멀티업로드도 있고, 직접 작성한 업로드도 있고, Filepond도 있다.

이중 가장 자연스럽고 괜찮은 멀티 업로드가 Filepond 이다. 그래서 Pintura와 Filepond를 연동했을때가 좋아 보인다.

pintura 홈페이지 예제도 filepond만 제공한다. 다른 연동은 샘플코드만 있고, 직접 실행할려면 별도의 페이지에서 확인이 가능하다. 

 

pintura + filepond 조합에서 난해한 부분이, 서버와 비동기로 연동하는 부분과, 편집 기능후 업로드할때이다.

이를 처리하기 위해서 restapi endpoint를 연동해야 하고(이부분은 filepond의 기능), 편집후 그냥 업로드 하면, 원본이 업로드되게 된다.

편집후 업로드를 한다면, 몇가지 추가 코드가 필요한데 시간날때 따로 작성해볼까 한다.

(파일업로드에 대한 코드는 filepond 예제를 참조해야 한다.)

 

pintura의 단점은 브라우저에서 blob를 처리하는 방식임으로 큰 파일이나, 여러파일을 동시에 업로드하는 경우, 브라우저가 느려질수가 있다는 점. 오랫동안 pintura를 테스트 하다가, 브라우져가 느려지면 그냥 크롬 브라우저를 전체 종료하고 재시작하는게 가장 깔끔한 방식이다.(이런 솔루션의 특성상 최적화를 하는것은 어렵고, 솔루션 업체가 지속적으로 최적화를 해주어야 한다.)

 

며칠동안 pintura에서 멀티파일 업로드를 위해 작업했는데, 원하는 결과로 작업이 되어 마음이 편하다. 

 

결론) pintura 는 가격이 싼편이 아니지만, 그 편의성과 기능이 우수함으로 비용대비하여 좋은 솔루션이다. 사용자 편의성을 높혀야 하는 경우나, 이미지 편집과 관련하여 높은 퀄리티를 제공해야 한다면, pintura 는 좋은 선택지가 될것입니다.

 

 

 

 

 

 

 

'PHP' 카테고리의 다른 글

Php 날짜함수 사용시 주의  (0) 2023.02.09