diff --git a/seahub/templates/view_shared_dir.html b/seahub/templates/view_shared_dir.html
index 4ed2c48944..8a3230f9ce 100644
--- a/seahub/templates/view_shared_dir.html
+++ b/seahub/templates/view_shared_dir.html
@@ -68,7 +68,7 @@
{% if dirent.is_img %}
- {{ dirent.obj_name }}
+ {{ dirent.obj_name }}
{% else %}
{{ dirent.obj_name }}
{% endif %}
diff --git a/seahub/views/file.py b/seahub/views/file.py
index cb3e75b8ad..a068acfef0 100644
--- a/seahub/views/file.py
+++ b/seahub/views/file.py
@@ -810,10 +810,14 @@ def view_raw_shared_file(request, token, obj_id, file_name):
raise Http404
# Normalize file path based on file or dir share link
- if fileshare.is_file_share_link():
- file_path = fileshare.path.rstrip('/')
+ req_path = request.GET.get('p', '').rstrip('/')
+ if req_path:
+ file_path = posixpath.join(fileshare.path, req_path.lstrip('/'))
else:
- file_path = fileshare.path.rstrip('/') + '/' + file_name
+ if fileshare.is_file_share_link():
+ file_path = fileshare.path.rstrip('/')
+ else:
+ file_path = fileshare.path.rstrip('/') + '/' + file_name
real_obj_id = seafile_api.get_file_id_by_path(repo_id, file_path)
if not real_obj_id:
|