2014-03-13 1 views
0

이 config.yml을 사용하고 있습니다.Symfony2 KnpLabsGaufrette - 나뭇 가지마다 로컬 파일 시스템 가져 오기 (다운로드 파일)

knp_gaufrette: 
    adapters: 
     uploaded_files: 
      local: 
       directory: "%kernel.root_dir%/../web/uploads" 
       create: true 
    filesystems: 
     uploaded_files: 
      adapter: uploaded_files 
      alias:  uploaded_files 

이제 나뭇 가지마다 업로드 된 파일에 액세스하려고합니다. 예를 들어, 또한 : 파일이 같은 경로가 있어야

<a href="{{ path('gaufrette_download', {system: 'uploaded_files', file: 'test.txt'}) }}>{{ 'Download' | trans }}</a> 

은 ...

http://localhost/web/uploads/test.txt 

나는 파일 (들)에 직접 액세스 할 수 있습니다. 컨트롤러가 없습니다 (조치).

이것이 가능합니까? 어떤 아이디어?

답변

2

폴더에 웹에 액세스 할 수있는 경우 (예 : 주소 표시 줄에 http://localhost/web/uploads/test.txt URL을 입력하고 파일을 다운로드 할 수있는 경우) 경로 gaufrette_download을 해당 경로에 매핑하기 만하면됩니다. 귀하의 번들의 routing.yml는 다음과 같이 할 수는 (누락 된 defaults: { controller: ... } 통지) : 당신의 .htaccess가 정의되어있는 경우

gaufrette_download: 
    path: /web/uploads/{file} 

제대로 웹 서버가 응용 프로그램에 액세스하는 대신에 파일을 제공해야한다. file에 대한 요구 사항을 추가해야 할 수도 있습니다. 슬래시 허용 (심포니 요리 책 검색)

컨트롤러 (작업) 작성을 건너 뛰고 싶다면 create an event listener which is triggered when your request matches the route도 가능합니다.

+0

감사합니다. 동적 인 것은 없지만 하나의 파일 시스템에 대해 하나의 경로를 정의 할 수 있습니다. 감사. – PatrickB