diff --git a/frontend/src/components/dir-view-mode/dir-column-nav.js b/frontend/src/components/dir-view-mode/dir-column-nav.js index 1b0d28a068..88567bc82f 100644 --- a/frontend/src/components/dir-view-mode/dir-column-nav.js +++ b/frontend/src/components/dir-view-mode/dir-column-nav.js @@ -269,7 +269,7 @@ class DirColumnNav extends React.Component { 'src': src, 'thumbnail': `${siteRoot}thumbnail/${repoID}/${thumbnailSizeForOriginal}${path}`, 'node': items.find(item => item.path.split('/').pop() === name), - 'downloadURL': `${fileServerRoot}repos/${repoID}/files/?op=download&p=${path}`, + 'downloadURL': `${fileServerRoot}repos/${repoID}/files${path}/?op=download`, }; }; diff --git a/frontend/src/components/dirent-grid-view/dirent-grid-view.js b/frontend/src/components/dirent-grid-view/dirent-grid-view.js index 6e4a42cb4b..f03c9de3bb 100644 --- a/frontend/src/components/dirent-grid-view/dirent-grid-view.js +++ b/frontend/src/components/dirent-grid-view/dirent-grid-view.js @@ -591,7 +591,7 @@ class DirentGridView extends React.Component { 'url': `${siteRoot}lib/${repoID}/file${path}`, 'thumbnail': `${siteRoot}thumbnail/${repoID}/${thumbnailSizeForOriginal}${path}`, 'src': `${siteRoot}repo/${repoID}/raw${path}?t=${cacheBuster}`, - 'downloadURL': `${fileServerRoot}repos/${repoID}/files/?op=download&p=${path}`, + 'downloadURL': `${fileServerRoot}repos/${repoID}/files${path}?op=download`, }; }; diff --git a/frontend/src/components/dirent-list-view/dirent-list-view.js b/frontend/src/components/dirent-list-view/dirent-list-view.js index 9e43f9ee6b..226640775c 100644 --- a/frontend/src/components/dirent-list-view/dirent-list-view.js +++ b/frontend/src/components/dirent-list-view/dirent-list-view.js @@ -189,7 +189,7 @@ class DirentListView extends React.Component { 'url': `${siteRoot}lib/${repoID}/file${path}`, 'thumbnail': `${siteRoot}thumbnail/${repoID}/${thumbnailSizeForOriginal}${path}`, 'src': `${siteRoot}repo/${repoID}/raw${path}`, - 'downloadURL': `${fileServerRoot}repos/${repoID}/files/?op=download&p=${path}`, + 'downloadURL': `${fileServerRoot}repos/${repoID}/files${path}/?op=download`, }; }; diff --git a/frontend/src/metadata/components/cell-editors/file-name-editor.js b/frontend/src/metadata/components/cell-editors/file-name-editor.js index ddf2476594..ae0b53159d 100644 --- a/frontend/src/metadata/components/cell-editors/file-name-editor.js +++ b/frontend/src/metadata/components/cell-editors/file-name-editor.js @@ -29,7 +29,7 @@ const FileNameEditor = ({ column, record, table, onCommitCancel }) => { url: `${siteRoot}lib/${repoID}/file${path}`, thumbnail: `${siteRoot}thumbnail/${repoID}/${thumbnailSizeForOriginal}${path}`, src: src, - downloadURL: `${fileServerRoot}repos/${repoID}/files/?op=download&p=${path}`, + downloadURL: `${fileServerRoot}repos/${repoID}/files${path}/?op=download`, }; }); }, [table]); diff --git a/frontend/src/utils/url-decorator.js b/frontend/src/utils/url-decorator.js index 971bb22eed..c684824014 100644 --- a/frontend/src/utils/url-decorator.js +++ b/frontend/src/utils/url-decorator.js @@ -11,7 +11,7 @@ class URLDecorator { url = siteRoot + 'repo/' + historyRepoID + '/' + options.objID + '/download?' + params; break; case 'download_file_url': - url = fileServerRoot + 'repos/' + options.repoID + '/files/?p=' + options.filePath + '&op=download'; + url = fileServerRoot + 'repos/' + options.repoID + '/files/' + Utils.encodePath(options.filePath) + '/?op=download'; break; case 'file_revisions': params = 'p=' + Utils.encodePath(options.filePath); diff --git a/seahub/utils/__init__.py b/seahub/utils/__init__.py index c200072ba4..5dc3e30982 100644 --- a/seahub/utils/__init__.py +++ b/seahub/utils/__init__.py @@ -546,10 +546,10 @@ def gen_file_get_url_by_sharelink(token): def gen_file_get_url_new(repo_id, filepath, op='download'): """ Generate fileserver file url. - Format: http:///repos/files/?p=&op=download + Format: http:///repos/files//?op=download """ - return '%s/repos/%s/files/?p=%s&op=%s' % ( + return '%s/repos/%s/files/%s/?op=%s' % ( get_fileserver_root(), repo_id, quote(filepath.strip('/')),