관리자 업로드 제한 설정 추가
This commit is contained in:
@@ -1,4 +1,13 @@
|
||||
<script setup>
|
||||
import {
|
||||
DEFAULT_UPLOAD_MAX_FILE_COUNT,
|
||||
DEFAULT_UPLOAD_MAX_TOTAL_SIZE,
|
||||
formatUploadSizeLimit,
|
||||
getUploadFilesTotalSize,
|
||||
normalizeUploadMaxFileCount,
|
||||
normalizeUploadMaxTotalSize
|
||||
} from '~/lib/upload-size-limit.js'
|
||||
|
||||
definePageMeta({
|
||||
layout: 'admin'
|
||||
})
|
||||
@@ -42,6 +51,11 @@ const draggingUrls = ref([])
|
||||
const uploadInputRef = ref(null)
|
||||
const uploadingFiles = ref(false)
|
||||
const deletingSelected = ref(false)
|
||||
const { data: uploadSettings } = await useFetch('/admin/api/settings', {
|
||||
key: 'admin-media-upload-settings'
|
||||
})
|
||||
const uploadMaxFileCount = computed(() => normalizeUploadMaxFileCount(uploadSettings.value?.uploadMaxFileCount || DEFAULT_UPLOAD_MAX_FILE_COUNT))
|
||||
const uploadMaxTotalSize = computed(() => normalizeUploadMaxTotalSize(uploadSettings.value?.uploadMaxTotalSize || DEFAULT_UPLOAD_MAX_TOTAL_SIZE))
|
||||
|
||||
const { toast, showToast } = useAdminToast()
|
||||
|
||||
@@ -617,6 +631,19 @@ const uploadSelectedFiles = async (event) => {
|
||||
}
|
||||
|
||||
const files = Array.from(input.files)
|
||||
|
||||
if (files.length > uploadMaxFileCount.value) {
|
||||
showToast('error', `한 번에 업로드할 수 있는 파일은 최대 ${uploadMaxFileCount.value}개입니다.`)
|
||||
input.value = ''
|
||||
return
|
||||
}
|
||||
|
||||
if (getUploadFilesTotalSize(files) > uploadMaxTotalSize.value) {
|
||||
showToast('error', `한 번에 업로드 가능한 전체 용량을 초과했습니다. (최대 ${formatUploadSizeLimit(uploadMaxTotalSize.value)})`)
|
||||
input.value = ''
|
||||
return
|
||||
}
|
||||
|
||||
const formData = new FormData()
|
||||
|
||||
files.forEach((file) => {
|
||||
|
||||
Reference in New Issue
Block a user