On Tue, Apr 28, 2009 at 12:00 PM, mdipierro <[email protected]> wrote:
>
> There is one issue with my solution.
>
> If you upload a file filename.abc, it is internally renamed as lots-of-
> junk--filename.abc
> and you can download it with
> http://..../download/lots-of-junk--filename.abc
> It works on GAE too.
>
> The problem is that URLs are validated hence filename.abc must be
> sanitized. I sanitize by replacing any alphanumeric char in filename
> with one underscore. This is fine for english files. This is not fine
> with filenames with foreign charsets (like chinese).
>
> I could replace lots-of-junk--[encoded filename].abc but this may open
> a big can of worms. If the original file contains special chars, what
> is the encoding? What if the downloader does not support those chars
> in the filenames?
>
> Any advice?
Maybe SQLField can receive a function as an argument, something like this:
def myfunction(f):
"get filename and return a customized name to my app"
return 'myapp_' + f.split('.')[0] + '.txt'
SQLField('myfile', 'upload', filename=myfunction)
SQLField can verify if filename is a function, string or True/False.
If it is a function, filename will be function(original-name)
(function have to return a string), if it is a string, filename will
be that string and if it is True, web2py uses original name. What do
you think?
--
Álvaro Justen
Peta5 - Telecomunicações e Software Livre
21 3021-6001 / 9898-0141
http://www.peta5.com.br/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---