mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-25 03:33:33 +01:00
✨ handleFile() now returns mime_type and size
This commit is contained in:
parent
d5cdc9198c
commit
0ef82be133
@ -25,15 +25,30 @@ export async function uploadFile(path: string, file: Express.Multer.File) {
|
||||
return result;
|
||||
}
|
||||
|
||||
export async function handleFile(path: string, body?: string): Promise<string | undefined> {
|
||||
if (!body || !body.startsWith("data:")) return body;
|
||||
export async function handleFile(
|
||||
path: string,
|
||||
body?: string
|
||||
): Promise<
|
||||
| (string & {
|
||||
id: string;
|
||||
content_type: string;
|
||||
size: number;
|
||||
url: string;
|
||||
})
|
||||
| undefined
|
||||
> {
|
||||
if (!body || !body.startsWith("data:")) return undefined;
|
||||
try {
|
||||
const mimetype = body.split(":")[1].split(";")[0];
|
||||
const buffer = Buffer.from(body.split(",")[1], "base64");
|
||||
|
||||
// @ts-ignore
|
||||
const { id } = await uploadFile(path, { buffer, mimetype, originalname: "banner" });
|
||||
return id;
|
||||
const file = await uploadFile(path, { buffer, mimetype, originalname: "banner" });
|
||||
const obj = file.id;
|
||||
for (const key in file) {
|
||||
obj[key] = file[key];
|
||||
}
|
||||
return obj;
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
throw new HTTPError("Invalid " + path);
|
||||
|
Loading…
Reference in New Issue
Block a user