Update dependencies and fix import paths
This commit is contained in:
32
src/utils/to-source.ts
Normal file
32
src/utils/to-source.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { Source } from "@/db/knowledge"
|
||||
import { UploadFile } from "antd"
|
||||
|
||||
export const toBase64 = (file: File | Blob): Promise<string> => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const reader = new FileReader()
|
||||
reader.readAsDataURL(file)
|
||||
reader.onload = () => resolve(reader.result as string)
|
||||
reader.onerror = (error) => reject(error)
|
||||
})
|
||||
}
|
||||
|
||||
export const toArrayBufferFromBase64 = async (base64: string) => {
|
||||
const res = await fetch(base64)
|
||||
const blob = await res.blob()
|
||||
return await blob.arrayBuffer()
|
||||
}
|
||||
|
||||
export const generateSourceId = () => {
|
||||
return "XXXXXXXX-XXXX-4XXX-YXXX-XXXXXXXXXXXX".replace(/[XY]/g, (c) => {
|
||||
const r = (Math.random() * 16) | 0
|
||||
const v = c === "X" ? r : (r & 0x3) | 0x8
|
||||
return v.toString(16)
|
||||
})
|
||||
}
|
||||
|
||||
export const convertToSource = async (file: UploadFile): Promise<Source> => {
|
||||
let type = file.type
|
||||
let filename = file.name
|
||||
const content = await toBase64(file.originFileObj)
|
||||
return { content, type, filename, source_id: generateSourceId() }
|
||||
}
|
||||
Reference in New Issue
Block a user