mirror of
https://github.com/jumpserver/lina.git
synced 2025-09-17 23:59:02 +00:00
perf: 上传大小限制从接口获取
This commit is contained in:
@@ -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": {
|
||||
|
@@ -1174,9 +1174,9 @@
|
||||
"Transfer": "ファイルを転送する",
|
||||
"UploadDir": "アップロードディレクトリ",
|
||||
"RequiredUploadFile": "ファイルをアップロードしてください!",
|
||||
"DuplicateFileExists": "重複したファイルが存在する",
|
||||
"DuplicateFileExists": "同名のファイルのアップロードは許可されていません。同名のファイルを削除してください。",
|
||||
"NoFiles": "まだファイルがありません",
|
||||
"uploadFileLthHelpText": "200MB 未満のファイルのみアップロードできます",
|
||||
"uploadFileLthHelpText": "{limit}MB 未満のファイルのみアップロードできます",
|
||||
"FileSizeExceedsLimit": "ファイルサイズが制限を超えています"
|
||||
},
|
||||
"perms": {
|
||||
|
@@ -1167,9 +1167,9 @@
|
||||
"Transfer": "传输",
|
||||
"UploadDir": "上传目录",
|
||||
"RequiredUploadFile": "请上传文件!",
|
||||
"DuplicateFileExists": "存在同名文件",
|
||||
"DuplicateFileExists": "不允许上传同名文件,请删除同名文件",
|
||||
"NoFiles": "暂无文件",
|
||||
"uploadFileLthHelpText": "只能上传小于200MB文件",
|
||||
"uploadFileLthHelpText": "只能上传小于{limit}MB文件",
|
||||
"FileSizeExceedsLimit": "文件大小超出限制"
|
||||
},
|
||||
"perms": {
|
||||
|
@@ -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
|
||||
}
|
||||
|
Reference in New Issue
Block a user