From a730609280e7e2ecc95945560ab5b383120f36a8 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Wed, 8 Jun 2016 14:07:39 +0400 Subject: [PATCH] =?UTF-8?q?cgilsxml.py:=20permettre=20de=20t=C3=A9l=C3=A9c?= =?UTF-8?q?harger=20le=20fichier=20avec=20la=20disposition=20inline?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/ulib/support/cgilsxml.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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)