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 = {