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.)
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.
Sehen Sie sich die VichUploaderBundle
anDamit können Sie dies tun:
%Vor%Tags und Links symfony