From 6cab9ed8850f1ca98c7804d8aee5087c6b48bba2 Mon Sep 17 00:00:00 2001 From: lian Date: Sat, 10 Feb 2018 14:58:18 +0800 Subject: [PATCH] update wopi post file content use inner fileserver update url when save a file via WOPI --- seahub/utils/__init__.py | 19 +++++++++++++++++++ seahub/wopi/views.py | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/seahub/utils/__init__.py b/seahub/utils/__init__.py index f829d2ce2a..10e5f693a6 100644 --- a/seahub/utils/__init__.py +++ b/seahub/utils/__init__.py @@ -439,6 +439,25 @@ def gen_inner_file_get_url(token, filename): else: return gen_file_get_url(token, filename) +def gen_inner_file_upload_url(op, token): + """Generate inner fileserver upload url. + + If ``ENABLE_INNER_FILESERVER`` set to False(defaults to True), will + returns outer fileserver file url. + + Arguments: + - `op`: + - `token`: + + Returns: + e.g., http://127.0.0.1:// + http://127.0.0.1:8082/update-api/80c69afa-9438-4ee6-a297-a24fadb10750 + """ + if ENABLE_INNER_FILESERVER: + return '%s/%s/%s' % (get_inner_fileserver_root(), op, token) + else: + return gen_file_upload_url(token, op) + def get_max_upload_file_size(): """Get max upload file size from config file, defaults to no limit. diff --git a/seahub/wopi/views.py b/seahub/wopi/views.py index d8fe2bfad9..51e9ebbcb4 100644 --- a/seahub/wopi/views.py +++ b/seahub/wopi/views.py @@ -20,7 +20,7 @@ from seaserv import seafile_api from seahub.base.accounts import User from seahub.utils import gen_inner_file_get_url, \ - gen_file_upload_url, get_file_type_and_ext, is_pro_version + gen_inner_file_upload_url, get_file_type_and_ext, is_pro_version from seahub.utils.file_op import check_file_lock from seahub.base.templatetags.seahub_tags import email2nickname @@ -348,7 +348,7 @@ class WOPIFilesContentsView(APIView): return HttpResponse(json.dumps({}), status=500, content_type=json_content_type) - update_url = gen_file_upload_url(token, 'update-api') + update_url = gen_inner_file_upload_url('update-api', token) # update file files = {