[hunchentoot-devel] url-encoding file names
Edi Weitz
edi at agharta.de
Sun Jun 17 20:01:47 UTC 2007
On Sat, 16 Jun 2007 18:16:10 +0200, "Mathias Dahl" <mathias.dahl at gmail.com> wrote:
> I am encoding file names using the url-encode function in
> Hunchentoot. However, it encodes chars such as space and / as well,
> which makes at least my browser (Firefox) or web server not
> understand that they are indeed links to files I have shared.
This question actually has nothing to do with Hunchentoot but with
understanding what URL-encoding is. See for example:
http://www.blooberry.com/indexdot/html/topics/urlencoding.htm
Forward slashes, for example, have special meaning in URLs and thus
/must/ be encoded. And the spaces won't confuse Firefox.
What you probably want is (something similar) to this (untested):
(defun foo (pathspec)
(format nil "~{~A/~}~A"
(mapcar #'url-encode
(rest (pathname-directory pathspec)))
(url-encode (file-namestring pathspec))))
HTH,
Edi.
More information about the Tbnl-devel
mailing list