This commit is contained in:
hailin 2025-05-27 22:25:23 +08:00
parent e02b4954ee
commit 56b919390d
2 changed files with 28 additions and 11 deletions

View File

@ -84,7 +84,7 @@ export const SidebarCreateItem: FC<SidebarCreateItemProps> = ({
file, file,
rest, rest,
workspaceId, workspaceId,
selectedWorkspace.embeddings_provider as "openai" | "local" selectedWorkspace.embeddings_provider as "openai" | "local" | "bge-m3"
) )
return createdFile return createdFile

View File

@ -62,7 +62,7 @@ export const createFileBasedOnExtension = async (
file: File, file: File,
fileRecord: TablesInsert<"files">, fileRecord: TablesInsert<"files">,
workspace_id: string, workspace_id: string,
embeddingsProvider: "openai" | "local" embeddingsProvider: "openai" | "local" | "bge-m3"
) => { ) => {
const fileExtension = file.name.split(".").pop() const fileExtension = file.name.split(".").pop()
@ -91,16 +91,32 @@ export const createFile = async (
workspace_id: string, workspace_id: string,
embeddingsProvider: "openai" | "local" | "bge-m3" embeddingsProvider: "openai" | "local" | "bge-m3"
) => { ) => {
let validFilename = fileRecord.name.replace(/[^a-z0-9.]/gi, "_").toLowerCase() // let validFilename = fileRecord.name.replace(/[^a-z0-9.]/gi, "_").toLowerCase()
const extension = file.name.split(".").pop() // 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()
const extensionIndex = validFilename.lastIndexOf(".") 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 maxBaseNameLength = 100 - (extension?.length || 0) - 1
if (baseName.length > maxBaseNameLength) { const adjustedName =
fileRecord.name = baseName.substring(0, maxBaseNameLength) + "." + extension baseName.length > maxBaseNameLength
} else { ? baseName.substring(0, maxBaseNameLength) + "." + extension
fileRecord.name = baseName + "." + extension : baseName + "." + extension
}
const { data: createdFile, error } = await supabase const { data: createdFile, error } = await supabase
.from("files") .from("files")
.insert([fileRecord]) .insert([fileRecord])
@ -118,7 +134,8 @@ export const createFile = async (
}) })
const filePath = await uploadFile(file, { const filePath = await uploadFile(file, {
name: createdFile.name, // name: createdFile.name,
name: adjustedName,
user_id: createdFile.user_id, user_id: createdFile.user_id,
file_id: createdFile.name file_id: createdFile.name
}) })