用symfony

嗨下载计数器我想知道用symfony 3用symfony

下载计数器网/的.htaccess我:

RewriteRule ^/up/(.*).(jpg|zip|pdf)$ /download/counter/$1/$2 [R,L] 

在我的控制器的appbundle /控制器/ DefaultController.php我有:

/** 

* @Route("/download/counter/{filename}/{ext}", name="downloadcounterfile")

*/

public function downloadcounterfileAction(Request $request)

{

....

}

但功能 “downloadcounterfileAction” 从不执行

回答:

如果你想要去一个URL /up/xyz.jpg,实际上最终在/download/counter/xyz/jpg你可以只添加一个新的动作/端点/up/{filename},并解析文件名,分开扩展基名,检查它们以确保它们在三有效的扩展。

也可能有三个别名路由到/up/路径前缀:

/** 

* @Route("/download/counter/{filename}/{ext}", name="downloadcounterfile")

* @Route("/up/{filename}.jpg", defaults={"ext"="jpg"})

* @Route("/up/{filename}.pdf", defaults={"ext"="pdf"})

* @Route("/up/{filename}.zip", defaults={"ext"="zip"})

*/

public function downloadcounterfileAction(Request $request, $filename, $ext)

{

echo "filename:$filename, ext:$ext\n";die;

}

鉴于上述路线块和方法,要的网址:/up/fred.zip显示

filename:fred, ext:zip 

/download/counter/fred/zip与包含在列出的@Routes中的结果相同。

虽然如果在文件名中有一个完整的停止位置将会失败 - No route found for "GET /up/fr.ed.zip"

以上是 用symfony 的全部内容, 来源链接: utcz.com/qa/257114.html

回到顶部