Php 如何使视图响应可下载?

Php 如何使视图响应可下载?,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有一个从模板呈现的XML文件 守则: public function createXml($id) { $order = Order::with('orderLines.bike.gallery')->with('orderLines.product')->with('orderLines.accu')->find($id); $debtor = User::find($order->user_id); return response()-&g

我有一个从模板呈现的XML文件

守则:

public function createXml($id)
{
    $order = Order::with('orderLines.bike.gallery')->with('orderLines.product')->with('orderLines.accu')->find($id);
    $debtor = User::find($order->user_id);

    return response()->view('ordersxml.order-template',compact('order','debtor'))->header('Content-Type','text/xml');
}

我希望人们自动下载.xml文件。我该怎么做?我需要把它存起来让它工作吗?现在,它只返回视图。

在将响应发送给用户之前设置此标题,然后重试:

内容配置:附件;filename=“yourfilename.xml”

此标题将强制浏览器下载您的xml。 祝你好运。

而不是

return response()->view('ordersxml.order-template',compact('order','debtor'))->header('Content-Type','text/xml');
尝试:

是的,您需要将其保存以使其工作,因为上述函数中需要路径

return response()->download($pathToFile);

return response()->download($pathToFile, $name, $headers);

return response()->download($pathToFile)->deleteFileAfterSend(true);