我有一个从模板渲染的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文件。我该怎么做呢?我需要保存才能使用吗?就像现在一样,它只返回视图。
答案 0 :(得分:1)
在将响应发送给用户之前设置此标头,然后重试:
Content-disposition: attachment; filename="yourfilename.xml"
此标头将强制浏览器下载您的xml。 祝你好运。
答案 1 :(得分:1)
而不是
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);
是的,您需要保存它才能正常工作,因为上述功能需要路径。