On Tue, Apr 28, 2009 at 12:00 PM, mdipierro <mdipie...@cs.depaul.edu> 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 web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---