diff --git a/lib/ulib/support/cgilsxml.py b/lib/ulib/support/cgilsxml.py index d127280..679686d 100755 --- a/lib/ulib/support/cgilsxml.py +++ b/lib/ulib/support/cgilsxml.py @@ -313,6 +313,8 @@ def run_cgilsxml(): help=u"Activer le mode CGI. Ce mode est automatiquement activé si la variable d'environnement REQUEST_METHOD existe.") OP.add_option('--cgi-allow-cache', dest='cgi_allow_cache', action='store_true', help=u"En mode CGI, ne pas rajouter les en-tête désactivant la mise en cache du résultat.") + OP.add_option('--cgi-inline', dest='cgi_inline', action='store_true', + help=u"En mode CGI, servir le fichier avec Content-Disposition=inline au lieu de attachment.") OP.add_option('-P', '--cgi-path-info', dest='path_info', help=u"Spécifier un chemin d'un fichier à télécharger. En mode CGI, cette valeur est prise dans la variable d'environnement PATH_INFO") OP.add_option('-Q', '--cgi-query-string', dest='query_string', @@ -341,6 +343,7 @@ def run_cgilsxml(): environ = os.environ cgi_cache = o.cgi_allow_cache and True or False + cgi_inline = o.cgi_inline and True or False cgi_mode = o.cgi_mode cgi_query_string = o.query_string if cgi_query_string is not None: environ['QUERY_STRING'] = cgi_query_string @@ -405,7 +408,8 @@ def run_cgilsxml(): if ctype is None: ctype, encoding = mimetypes.guess_type(dlname, False) if ctype is None: ctype = "application/octet-stream" print "Content-Type: %s; charset=utf-8" % ctype - print "Content-Disposition: attachment; filename=\"%s\"" % dlname + disposition = cgi_inline and 'inline' or 'attachment' + print "Content-Disposition: %s; filename=\"%s\"" % (disposition, dlname) print inf = open(file.pf, 'rb') try: shutil.copyfileobj(inf, sys.stdout)