Downloaden Sie eine hochgeladene Datei in Symfony2

8

Mit meiner Symfony2-App können Benutzer Dateien hochladen. Ich möchte, dass Benutzer ihre Dateien auch herunterladen können.

Wenn ich gerade PHP machen würde, würde ich nur die entsprechenden Header ausgeben und dann den Inhalt der Datei ausgeben. Wie würde ich dies in einem Symfony2-Controller tun?

(Wenn Sie einen hartcodierten Dateinamen in Ihrer Antwort verwenden, ist das gut genug für mich.)

    
Jason Swett 01.04.2012, 21:21
quelle

3 Antworten

15

Ich habe das getan:

%Vor%     
Jason Swett 01.04.2012, 22:20
quelle
2

Sie möchten Symfony nicht vollständig umgehen und die Datei nur über Ihren HTTP-Server (Apache, Nginx usw.) bereitstellen?

Lassen Sie die hochgeladenen Dateien einfach irgendwo im Dokumentenstammverzeichnis liegen und lassen Sie Ihren HTTP-Server das tun, was er am besten kann.

Update: Während der von @ Jason Swett veröffentlichte Symfony2-Code für 99% funktioniert, von Fällen - ich wollte nur sicherstellen, die Alternative (n) zu dokumentieren. Eine weitere Möglichkeit, Downloads zu sichern, wäre die Verwendung des mod_secdownload -Moduls von Lighttpd. Dies wäre die ideale Lösung für größere Dateien oder Dateien, die schnell und mit möglichst geringer Speicherauslastung bereitgestellt werden müssen.

    
leek 02.04.2012 07:51
quelle
0

Sehen Sie sich die VichUploaderBundle

an

Damit können Sie dies tun:

%Vor%     
crmpicco 18.02.2016 14:33
quelle

Tags und Links