2016-05-23 9 views
0

Wie kann ich zulassen, dass Benutzer nur zip und exe Dateien herunterladen können?Wie kann ich herunterladen nur .zip und exe [Laravel 5.1]

ich zur Zeit mit dieser Funktion:

public function download($id) 
    { 
     $headers = array(
      'Content-Type: application/x-msdownload', 
      'Content-Type: application/zip' 
     ); 

     return response()->download(storage_path() . '/app/' . 'gamers.png', 'gamers.png', $headers); 
    } 

Und das ich jede Datei herunterladen lassen, wie kann ich es begrenzen nur auf zip und exe?

Antwort

0

Sie versuchen, eine Antwort zu senden, so dass die Header nur bedeuten, dass der Browser versteht, dass Sie eine Datei vom Typ Content-Type application/x-msdownload oder application/zip senden. Um die Dateien direkt vom Server zu begrenzen, können Sie versuchen, das Verzeichnis mit der .htaccess-Datei zu begrenzen und im Code die $ id zu erhalten. Wahrscheinlich könnten Sie das Dateiobjekt oder Details der Datei erhalten (falls vorhanden) und den Typ vor dem Senden überprüfen die Antwort.

Beispiel für Deny access to specific file types in specific directory

mit der Erweiterung Zugriff auf Dateien in Ordner zu begrenzen Sie die oben nach Ihren Bedürfnissen

+0

Könnten einige Code zeigen Sie mich anpassen können? –

+0

Hier ist ein Beispiel mit .htaccess (Hinweis funktioniert nur, wenn Ihr Server Apache basiert) basierte Einschränkungen http://stackoverflow.com/questions/16108399/deny-access-to-specific-file-types-in-specific- Verzeichnis –

+0

Hier ist der Pfad 'storage_path(). "/ app /". 'gamers.png'', die ich validieren muss –