code: def download(self, filename, action='download', x_filename='', x_sendfile=None, real_filename=''):
          
          from uliweb import request
          from uliweb.utils.common import safe_str
          from uliweb.utils.filedown import filedown
          
          s = settings.GLOBAL
  
          action = request.GET.get('action', action)
          
          if not real_filename:
              real_filename = self.get_filename(filename, True, convert=False)
          else:
              real_filename = files.encode_filename(real_filename, to_encoding=s.FILESYSTEM_ENCODING)
  
          if not x_filename:
              x_filename = safe_str(filename, s.FILESYSTEM_ENCODING)
          if self.x_file_prefix:
              x_filename = os.path.normpath(os.path.join(self.x_file_prefix, x_filename)).replace('\\', '/')
          
          xsend_flag = bool(self.x_sendfile) if x_sendfile is None else x_sendfile
          return filedown(request.environ, filename, action=action, 
              x_sendfile=xsend_flag, x_header_name=self.x_header_name, 
              x_filename=x_filename, real_filename=real_filename)
docs: action will be "download", "inline"
          and if the request.GET has 'action', then the action will be replaced by it.