This commit is contained in:
hailin 2025-05-27 23:00:01 +08:00
parent 56b919390d
commit adceadc16c
1 changed files with 23 additions and 24 deletions

View File

@ -91,31 +91,18 @@ export const createFile = async (
workspace_id: string,
embeddingsProvider: "openai" | "local" | "bge-m3"
) => {
// let validFilename = fileRecord.name.replace(/[^a-z0-9.]/gi, "_").toLowerCase()
// const extension = file.name.split(".").pop()
// const extensionIndex = validFilename.lastIndexOf(".")
// const baseName = validFilename.substring(0, (extensionIndex < 0) ? undefined : extensionIndex)
// const maxBaseNameLength = 100 - (extension?.length || 0) - 1
// if (baseName.length > maxBaseNameLength) {
// fileRecord.name = baseName.substring(0, maxBaseNameLength) + "." + extension
// } else {
// fileRecord.name = baseName + "." + extension
// }
// 保留原始文件名用于数据库插入
const originalFileName = file.name
fileRecord.name = originalFileName // ✅ 用原始文件名插入数据库
// 为上传路径等其他用途生成格式化文件名
let validFilename = originalFileName.replace(/[^a-z0-9.]/gi, "_").toLowerCase()
const extension = originalFileName.split(".").pop()
//let validFilename = fileRecord.name.replace(/[^a-z0-9.]/gi, "_").toLowerCase()
let validFilename = fileRecord.name.replace(/[<>:"/\\|?*%#\s]/g, "_")
const extension = file.name.split(".").pop()
const extensionIndex = validFilename.lastIndexOf(".")
const baseName = validFilename.substring(0, extensionIndex < 0 ? undefined : extensionIndex)
const baseName = validFilename.substring(0, (extensionIndex < 0) ? undefined : extensionIndex)
const maxBaseNameLength = 100 - (extension?.length || 0) - 1
const adjustedName =
baseName.length > maxBaseNameLength
? baseName.substring(0, maxBaseNameLength) + "." + extension
: baseName + "." + extension
if (baseName.length > maxBaseNameLength) {
fileRecord.name = baseName.substring(0, maxBaseNameLength) + "." + extension
} else {
fileRecord.name = baseName + "." + extension
}
const { data: createdFile, error } = await supabase
.from("files")
@ -134,8 +121,7 @@ export const createFile = async (
})
const filePath = await uploadFile(file, {
// name: createdFile.name,
name: adjustedName,
name: createdFile.name,
user_id: createdFile.user_id,
file_id: createdFile.name
})
@ -178,6 +164,19 @@ export const createDocXFile = async (
workspace_id: string,
embeddingsProvider: "openai" | "local" | "bge-m3"
) => {
let validFilename = fileRecord.name.replace(/[<>:"/\\|?*%#\s]/g, "_")
const extension = file.name.split(".").pop()
const extensionIndex = validFilename.lastIndexOf(".")
const baseName = validFilename.substring(0, (extensionIndex < 0) ? undefined : extensionIndex)
const maxBaseNameLength = 100 - (extension?.length || 0) - 1
if (baseName.length > maxBaseNameLength) {
fileRecord.name = baseName.substring(0, maxBaseNameLength) + "." + extension
} else {
fileRecord.name = baseName + "." + extension
}
const { data: createdFile, error } = await supabase
.from("files")
.insert([fileRecord])