我正在使用这个config.yml。
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
我希望直接访问文件。 没有控制器(动作)。
这可能吗?有什么想法吗?
答案 0 :(得分:2)
如果您的文件夹可通过网络访问(即您可以在地址栏中输入网址http://localhost/web/uploads/test.txt
并下载文件),您只需将路线gaufrette_download
映射到该路径即可。您的论坛routing.yml
可能如下所示(请注意丢失的defaults: { controller: ... }
):
gaufrette_download:
path: /web/uploads/{file}
如果您的.htaccess
被正确定义,您的网络服务器应该提供文件而不是访问您的应用程序。您可能需要添加file
的要求,例如允许斜杠(搜索symfony食谱)
如果你只想跳过编写控制器(动作),你也可以create an event listener which is triggered when your request matches the route。