관리자 미디어 업로드 규칙 분리
This commit is contained in:
@@ -37,8 +37,13 @@ import {
|
||||
resolvePreviewFocusPosition as resolveMarkdownPreviewFocusPosition
|
||||
} from '../../lib/markdown-editor-focus.js'
|
||||
import {
|
||||
createMediaPickerFetchQuery,
|
||||
createMediaUploadFormData,
|
||||
createSelectedMediaInsertPlan,
|
||||
filterImageUploadFiles,
|
||||
findUploadSizeLimitError,
|
||||
resolveImageUploadInsertTarget,
|
||||
resolveUploadedMediaFiles,
|
||||
resolveUploadFetchErrorMessage
|
||||
} from '../../lib/markdown-editor-media.js'
|
||||
import {
|
||||
@@ -2820,14 +2825,12 @@ const fetchMediaItems = async () => {
|
||||
|
||||
try {
|
||||
const response = await $fetch('/admin/api/media', {
|
||||
query: {
|
||||
paged: '1',
|
||||
tab: 'library',
|
||||
query: createMediaPickerFetchQuery({
|
||||
page: mediaPickerPage.value,
|
||||
pageSize: mediaPickerPageSize,
|
||||
kind: mediaPickerKind.value,
|
||||
search: mediaSearchQuery.value.trim() || undefined
|
||||
}
|
||||
searchQuery: mediaSearchQuery.value
|
||||
})
|
||||
})
|
||||
|
||||
applyMediaPickerResponse(response)
|
||||
@@ -2967,17 +2970,12 @@ const uploadMediaFiles = async (files) => {
|
||||
throw new Error(sizeLimitError)
|
||||
}
|
||||
|
||||
const formData = new FormData()
|
||||
Array.from(files).forEach((file) => {
|
||||
formData.append('files', file)
|
||||
})
|
||||
|
||||
const result = await $fetch('/admin/api/uploads', {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
body: createMediaUploadFormData(files)
|
||||
})
|
||||
|
||||
return result.files || []
|
||||
return resolveUploadedMediaFiles(result)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3090,7 +3088,7 @@ const handlePaste = async (event) => {
|
||||
return
|
||||
}
|
||||
|
||||
const imageFiles = Array.from(event.clipboardData?.files || []).filter((file) => file.type.startsWith('image/'))
|
||||
const imageFiles = filterImageUploadFiles(event.clipboardData?.files)
|
||||
|
||||
if (!imageFiles.length) {
|
||||
const html = event.clipboardData?.getData('text/html')
|
||||
@@ -3108,7 +3106,7 @@ const handlePaste = async (event) => {
|
||||
}
|
||||
|
||||
event.preventDefault()
|
||||
await uploadAndInsert(imageFiles, imageFiles.length > 1 ? 'gallery' : 'image')
|
||||
await uploadAndInsert(imageFiles, resolveImageUploadInsertTarget(imageFiles))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3122,14 +3120,14 @@ const handleDrop = async (event) => {
|
||||
return
|
||||
}
|
||||
|
||||
const imageFiles = Array.from(event.dataTransfer?.files || []).filter((file) => file.type.startsWith('image/'))
|
||||
const imageFiles = filterImageUploadFiles(event.dataTransfer?.files)
|
||||
|
||||
if (!imageFiles.length) {
|
||||
return
|
||||
}
|
||||
|
||||
event.preventDefault()
|
||||
await uploadAndInsert(imageFiles, imageFiles.length > 1 ? 'gallery' : 'image')
|
||||
await uploadAndInsert(imageFiles, resolveImageUploadInsertTarget(imageFiles))
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user