我有一个动作,它不应该返回普通页面,而是返回一个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));
有什么想法吗?
答案 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;