summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKcchouette <Kcchouette@users.noreply.github.com>2021-01-02 00:56:53 +0100
committerSaptak S <saptak013@gmail.com>2021-01-31 16:37:45 +0530
commit89043b854590f9517678f51b308a8dff345271f1 (patch)
tree6aeadad17dd6ad05ca45ef7677669a09e2e76586
parentc5308efc579dfbe7ee5d2de539d698b2fe07b668 (diff)
downloadonionshare-89043b854590f9517678f51b308a8dff345271f1.tar.gz
onionshare-89043b854590f9517678f51b308a8dff345271f1.zip
use utf8 name too for file downloading
-rw-r--r--cli/onionshare_cli/web/send_base_mode.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/cli/onionshare_cli/web/send_base_mode.py b/cli/onionshare_cli/web/send_base_mode.py
index 5f3bbfa1..ad4459fe 100644
--- a/cli/onionshare_cli/web/send_base_mode.py
+++ b/cli/onionshare_cli/web/send_base_mode.py
@@ -25,6 +25,7 @@ import mimetypes
import gzip
from flask import Response, request, render_template, make_response
from unidecode import unidecode
+from werkzeug.urls import url_quote
class SendBaseModeWeb:
@@ -263,7 +264,11 @@ class SendBaseModeWeb:
if use_gzip:
r.headers.set("Content-Encoding", "gzip")
r.headers.set("Content-Length", filesize)
- r.headers.set("Content-Disposition", "inline", filename=unidecode(basename))
+ filename_dict = {
+ 'filename': unidecode(basename),
+ 'filename*': "UTF-8''%s" % url_quote(basename)
+ }
+ r.headers.set("Content-Disposition", "inline", **filename_dict)
r = self.web.add_security_headers(r)
(content_type, _) = mimetypes.guess_type(basename, strict=False)
if content_type is not None: