Symfony2 Rookie:如何操纵标题内容

时间:2012-02-07 16:06:28

标签: controller symfony

我有一个动作,它不应该返回普通页面,而是返回一个torrent文件。

因此,经过一些工作和操作,最终应该完成这样的事情。

    header('Content-Type: application/x-bittorrent');
    header('Content-Disposition: attachment; filename="'.$torrent->filename.'"');
    echo (TrackerHelper::bencode($dict));
    exit;

当我这样做时,我得到了

  

找不到此网页

即使我在动作结束时这样做,也找不到页面。

    header('Content-Type: application/x-bittorrent');
    header('Content-Disposition: attachment; filename="'.$torrent->filename.'"');
    //echo (TrackerHelper::bencode($dict));
    //exit;
    return new Response(TrackerHelper::bencode($dict));

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以在响应中设置标题。响应对象的构造函数签名如下:

public function __construct($content = '', $status = 200, $headers = array())

所以你可以说:

return new Response(TrackerHelper::bencode($dict), 200, array(
  'Content-Type' => 'application/x-bittorrent', 
  [...]
);

无论如何,找不到页面消息会建议您犯其他错误,检查您的路由和控制器!

答案 1 :(得分:0)

尝试这种变化:

$response = new Response(TrackerHelper::bencode($dict));
$response->headers->set('Content-Type', 'application/x-bittorrent');
$response->headers->set('Content-Disposition', 'attachment; filename="'.$torrent->filename.'"');

return $response;