perf: 上传大小限制从接口获取

This commit is contained in:
wangruidong
2023-12-14 11:22:19 +08:00
committed by Bryan
parent d51a787598
commit ad7b2c4e8f
4 changed files with 19 additions and 12 deletions

View File

@@ -1181,9 +1181,9 @@
"Transfer": "Transfer",
"UploadDir": "Upload Directory",
"RequiredUploadFile": "Please upload files",
"DuplicateFileExists": "Duplicate file exists",
"DuplicateFileExists": "Uploading files with the same name is not allowed. Please delete the existing file with the same name.",
"NoFiles": "No Files",
"uploadFileLthHelpText": "Only files smaller than 200MB can be uploaded",
"uploadFileLthHelpText": "Only files smaller than {limit}MB can be uploaded",
"FileSizeExceedsLimit": "File size exceeds limit"
},
"perms": {

View File

@@ -1174,9 +1174,9 @@
"Transfer": "ファイルを転送する",
"UploadDir": "アップロードディレクトリ",
"RequiredUploadFile": "ファイルをアップロードしてください!",
"DuplicateFileExists": "重複したファイルが存在する",
"DuplicateFileExists": "同名のファイルのアップロードは許可されていません。同名のファイルを削除してください。",
"NoFiles": "まだファイルがありません",
"uploadFileLthHelpText": "200MB 未満のファイルのみアップロードできます",
"uploadFileLthHelpText": "{limit}MB 未満のファイルのみアップロードできます",
"FileSizeExceedsLimit": "ファイルサイズが制限を超えています"
},
"perms": {

View File

@@ -1167,9 +1167,9 @@
"Transfer": "传输",
"UploadDir": "上传目录",
"RequiredUploadFile": "请上传文件!",
"DuplicateFileExists": "存在同名文件",
"DuplicateFileExists": "不允许上传同名文件,请删除同名文件",
"NoFiles": "暂无文件",
"uploadFileLthHelpText": "只能上传小于200MB文件",
"uploadFileLthHelpText": "只能上传小于{limit}MB文件",
"FileSizeExceedsLimit": "文件大小超出限制"
},
"perms": {

View File

@@ -56,7 +56,7 @@
</div>
<br>
<span>
{{ $t('ops.uploadFileLthHelpText') }}
{{ $t('ops.uploadFileLthHelpText', {limit: SizeLimitMb}) }}
</span>
<div slot="file" slot-scope="{file}">
<li tabindex="0" class="el-upload-list__item is-ready">
@@ -117,6 +117,7 @@ import Term from '@/components/Widgets/Term'
import Page from '@/layout/components/Page'
import { createJob, getJob, getTaskDetail, JobUploadFile } from '@/api/ops'
import { formatFileSize } from '@/utils/common'
import store from '@/store'
export default {
name: 'BulkTransfer',
@@ -206,7 +207,8 @@ export default {
progressLength: 0,
ShowProgress: false,
upload_interval: null,
uploadFileList: []
uploadFileList: [],
SizeLimitMb: store.getters.publicSettings['FILE_UPLOAD_SIZE_LIMIT_MB']
}
},
computed: {
@@ -330,8 +332,9 @@ export default {
const filenameList = fileList.map((file) => file.name)
const filenameCount = _.countBy(filenameList)
if (filenameCount[file.name] > 1) {
this.$message.error(this.$tc('ops.DuplicateFileExists'))
file.is_same = true
} else {
file.is_same = false
}
},
sameFileStyle(file) {
@@ -341,11 +344,11 @@ export default {
return ''
},
IsFileExceedsLimit(file) {
const isGt200M = file.size / 1024 / 1024 > 200
if (isGt200M) {
const isGtLimit = file.size / 1024 / 1024 > this.SizeLimitMb
if (isGtLimit) {
this.$message.error(this.$tc('ops.FileSizeExceedsLimit'))
}
return isGt200M
return isGtLimit
},
onFileChange(file, fileList) {
file.name = this.truncateFileName(file.name)
@@ -358,6 +361,10 @@ export default {
execute() {
const { hosts, nodes } = this.getSelectedNodesAndHosts()
for (const file of this.uploadFileList) {
if (file.is_same) {
this.$message.error(this.$tc('ops.DuplicateFileExists'))
return
}
if (this.IsFileExceedsLimit(file)) {
return
}