2016-05-31 5 views
2

Ich benutze diesen Code, um eine Android-APK-Datei an den Client senden, lädt der Client diese Datei sehr gut, aber der Client kann diese Datei nicht analysieren, wahrscheinlich wegen der Mime-Typ.Laravel Antwort senden Android APK-Datei

return response()->file($path ,['Content-Type'=>'application/vnd.android.package-archive']) ; 

Der Client erhält eine Datei mit diesem Namen "Android" ohne Erweiterung. Wie kann ich Android-Datei an den Client mit der Erweiterung senden.

Antwort

3

können Sie verwenden

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

aber herunterladen() Die Funktion weist den Client an, die Datei vom Webserver herunterzuladen, damit der Pfad Ihrer Datei auf den Ordner "public" Ihrer Website verweist. Wenn Ihre Dateien jedoch geschützt sind und Sie möchten, dass Ihre Laravel-Anwendung die Datei sendet, verwenden Sie dieses Snippet

return response()->file($path ,[ 
    'Content-Type'=>'application/vnd.android.package-archive', 
    'Content-Disposition'=> 'attachment; filename="android.apk"', 
]) ; 
0

könnten Sie verwenden download(), in dem Sie den Namen der Datei als zweites Argument übergeben konnte:

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

+0

Was sollte das Array $ headers sein? – Salar

+0

Haben Sie versucht, Ihr '['Content-Type' => 'application/vnd.android.package-archive']' 'zu verwenden? Sie können auch einfach die ersten 2 Parameter der Methode hinzufügen. – TheFallen