2017-06-12 69 views
1

我有一个从模板呈现的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文件。我该怎么做呢?我需要保存它才能工作吗?就像它现在一样,它只是返回视图。

回答

1

设置这个头之前发送给用户的响应,然后再试一次:

Content-disposition: attachment; filename="yourfilename.xml"

这头将迫使浏览器下载你的XML。 祝你好运。

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); 

是的,你需要保存这个工作,如在上述功能是必需的路径。

Reference