LiipImagineBundle을 사용하여 업로드 된 이미지에서 필터링 된 이미지를 만듭니다. 번들의 현재 설정은 다음과 같습니다 원래 크기원본 폴더와 필터링 된 이미지를 같은 폴더에 저장하십시오. - LiipImagineBundle
web_root\{subdirectory}\{type}_{filename_md5_hash}.jpeg
유형은 다음 중 하나입니다 s
또는 o
:
liip_imagine:
resolvers:
default:
web_path: ~
filter_sets:
cache: ~
my_filter:
filters:
relative_resize: { heighten: 66 }
내 목표는 같은 디렉토리 구조를 작성하는 것입니다. 하위 디렉토리는 업로드 날짜로부터 생성됩니다.
LiipImagineBundle은 필터링 된 이미지를 web_root\my_filter\{subdirecory}\{type}_{filename_md5_hash}.jpeg
에 저장합니다.
어떻게하면 my_filter
부분을 생략 할 수 있습니까? 업로드 된 각 이미지와 필터링 된 이미지가 동일한 최종 폴더에 저장되어야합니다.
저는 전문가가 아니며 많은 연구를하지 않았습니다. 구성을 사용하면 전체 필터 또는 개별 필터에 대한 캐시의 웹 경로를 변경할 수 있지만 필터 이름은 항상 최종 URL에 표시됩니다.
귀하의 도움에 감사드립니다.
이 솔루션에서는 캐시를 전혀 사용하지 않으므로 장기적으로 성능 문제가 발생할 수 있습니다. 그리고 런타임에 항상 필터링 된 파일을 생성하고 캐시 된 파일을 사용하지 않는다면 파일을 하위 디렉토리에 저장하는 이유를 알 수 없습니다. 하지만 그 외에, 나는이 작품에 동의합니다. 이것은 제가 제안한 것보다 덜 최적이고 깨끗합니다. 그러나 그것은 일을합니다. – Terenoth
@ 테레 노스, 시간 내 주셔서 감사합니다. 나는 '왜 장기적으로 성과가 나올지'를 이해하지 못합니다. 런타임시 필터링 된 파일을 생성하지 않습니다. 내가하는 일은 파일을 업로드하는 동안 (컨트롤러의 uploadAction 내부에서) 필터링 된 이미지를 만드는 것입니다. 그런 다음 liipImagineBundle 기본 폴더와 다른 폴더에 캐시합니다. 귀하의 설명은 높이 평가됩니다. –
아, 코드가 표시 동작이 아니라 업로드 동작이 아니라고 생각했습니다. 이 경우 실제로 성능 문제는 없습니다. 필자는 실제로 LiipImagineBundle이 필요 없다는 유일한 주장은 LiipImagine의 캐시 및 필터 기능을 실제로 사용하지 않기 때문에 스스로 상상해 보라는 것입니다. 'liip_imagine.data.manager'와'liip_imagine.filter.manager'를 호출하지 않고도, 업로드 된 바이너리를 얻고 Imagine 함수를 적용한 다음 새로운 File을 저장할 수 있습니다. 하지만 일이 끝나면 갈 수 있습니다. :) – Terenoth