1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-10 19:32:25 +00:00

Optimize file uploader (#4716)

* optimize file uploader

* optimize file uploader

* update resumablejs version
This commit is contained in:
杨顺强 2020-11-11 11:06:26 +08:00 committed by GitHub
parent bbac14cc4a
commit abb57964b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 13 deletions

View File

@ -148,9 +148,9 @@
} }
}, },
"@seafile/resumablejs": { "@seafile/resumablejs": {
"version": "1.1.15", "version": "1.1.16",
"resolved": "https://registry.npmjs.org/@seafile/resumablejs/-/resumablejs-1.1.15.tgz", "resolved": "https://registry.npmjs.org/@seafile/resumablejs/-/resumablejs-1.1.16.tgz",
"integrity": "sha512-DJPhjBRLENONdDNaaKRckWWtwXvoqfJcRdSk01FbjmZ3DWpbIwebd/vfuB4qJwm0R2j2qzdEVhgxe6wDYS/n9A==" "integrity": "sha512-8rBbmAEuuwOAGHYGCtEzpx+bxAcGS+V30otMmhRe7bPAdh4E57RWgCa8x7pkzHGFlY1t5d+ILz1gojvPVMYQig=="
}, },
"@seafile/seafile-calendar": { "@seafile/seafile-calendar": {
"version": "0.0.12", "version": "0.0.12",

View File

@ -5,7 +5,7 @@
"dependencies": { "dependencies": {
"@reach/router": "^1.2.0", "@reach/router": "^1.2.0",
"@seafile/react-image-lightbox": "0.0.1", "@seafile/react-image-lightbox": "0.0.1",
"@seafile/resumablejs": "^1.1.15", "@seafile/resumablejs": "1.1.16",
"@seafile/seafile-calendar": "0.0.12", "@seafile/seafile-calendar": "0.0.12",
"@seafile/seafile-editor": "^0.2.84", "@seafile/seafile-editor": "^0.2.84",
"MD5": "^1.3.0", "MD5": "^1.3.0",

View File

@ -388,6 +388,18 @@ class FileUploader extends React.Component {
this.setState({uploadFileList: uploadFileList}); this.setState({uploadFileList: uploadFileList});
} }
getFileServerErrorMessage = (key) => {
const errorMessage = {
'File locked by others.': gettext('File locked by others.'), // 403
'Invalid filename.': gettext('Invalid filename.'), // 440
'File already exists.': gettext('File already exists.'), // 441
'File size is too large.': gettext('File size is too large.'), // 442
'Out of quota.': gettext('Out of quota.'), // 443
'Internal error.': gettext('Internal Server Error'), // 500
}
return errorMessage[key] || key;
}
onFileError = (resumableFile, message) => { onFileError = (resumableFile, message) => {
let error = ''; let error = '';
if (!message) { if (!message) {
@ -396,13 +408,7 @@ class FileUploader extends React.Component {
// eg: '{"error": "Internal error" \n }' // eg: '{"error": "Internal error" \n }'
let errorMessage = message.replace(/\n/g, ''); let errorMessage = message.replace(/\n/g, '');
errorMessage = JSON.parse(errorMessage); errorMessage = JSON.parse(errorMessage);
error = errorMessage.error; error = this.getFileServerErrorMessage(errorMessage.error);
if (error === 'File locked by others.') {
error = gettext('File is locked by others.');
}
if (error === 'Internal error.') {
error = gettext('Internal Server Error');
}
} }
let uploadFileList = this.state.uploadFileList.map(item => { let uploadFileList = this.state.uploadFileList.map(item => {
@ -489,12 +495,12 @@ class FileUploader extends React.Component {
onFileUpload = () => { onFileUpload = () => {
this.uploadInput.current.removeAttribute('webkitdirectory'); this.uploadInput.current.removeAttribute('webkitdirectory');
this.uploadInput.current.click(); this.uploadInput.current.click();
} }
onFolderUpload = () => { onFolderUpload = () => {
this.uploadInput.current.setAttribute('webkitdirectory', 'webkitdirectory'); this.uploadInput.current.setAttribute('webkitdirectory', 'webkitdirectory');
this.uploadInput.current.click(); this.uploadInput.current.click();
} }
onDragStart = () => { onDragStart = () => {