2017-06-12 3 views
1

Ich habe eine XML-Datei, die aus einer Vorlage gerendert wird.Wie kann eine View-Antwort heruntergeladen werden?

Der Code:

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

Ich möchte, dass die XML-Datei automatisch herunterzuladen. Wie mache ich das? Muss ich es speichern, damit es funktioniert? So wie es jetzt ist, gibt es nur die Ansicht zurück.

Antwort

1

Setzen Sie diesen Header vor die Reaktion auf die Benutzer senden und versuchen Sie es erneut:

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

Dieser Header wird Browser zwingen Ihre xml herunterladen. Viel Glück.

1

Statt

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

Versuch:

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

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

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

Ja, Sie brauchen es für diese Arbeit zu sparen, als Pfad in oben genannten Funktionen benötigt wird.

Reference

Verwandte Themen