Serving files seems to be very confusing, as there are so many driving
forces and requirements.
1. The filename. There are two filenames, the one of the structure and
the one of the uploaded file. To me it is not clear which one is
preferable to be used? The one of the structure changes when the file
is renamed, the other one is determined by the original filename of
the upload.
2. The serving. There are two ways to serve files. Serving can either
happen using Seaside (the default) or using Apache (which is much more
efficient). The two approaches have completely different semantics, in
the Seaside case we have full control over the path. The approach with
Apache is limited to how Magritte lays out the files to the
file-system, however that could be fixed using X-Sendfile, but then
requires a non-standard plugin in Apache.
3. The response. In the case Seaside is serving we can set
Content-Disposition in the response. Setting it means that browsers
downloads the file, even if it could be displayed in the browser
window.
Maybe there are even more possible dimensions. Anybody has an idea how
to consistently resolve these problems?
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch