aboutsummaryrefslogtreecommitdiff
path: root/src/server/DashUploadUtils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/DashUploadUtils.ts')
-rw-r--r--src/server/DashUploadUtils.ts21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts
index dd99ff746..2af816df8 100644
--- a/src/server/DashUploadUtils.ts
+++ b/src/server/DashUploadUtils.ts
@@ -60,7 +60,7 @@ export namespace DashUploadUtils {
const types = type.split("/");
const category = types[0];
- const format = `.${types[1]}`;
+ let format = `.${types[1]}`;
switch (category) {
case "image":
@@ -77,8 +77,12 @@ export namespace DashUploadUtils {
return UploadPdf(file);
}
case "audio":
+ const components = format.split(";");
+ if (components.length > 1) {
+ format = components[0];
+ }
if (audioFormats.includes(format)) {
- return MoveParsedFile(file, Directory.audio);
+ return UploadAudio(file, format);
}
}
@@ -86,12 +90,6 @@ export namespace DashUploadUtils {
return { source: file, result: new Error(`Could not upload unsupported file (${name}) with upload type (${type}).`) };
}
- async function UploadAudio(file: File) {
- const { path: sourcePath } = file;
-
- return MoveParsedFile(file, Directory.audio);
- }
-
async function UploadPdf(file: File) {
const { path: sourcePath } = file;
const dataBuffer = readFileSync(sourcePath);
@@ -105,6 +103,13 @@ export namespace DashUploadUtils {
return MoveParsedFile(file, Directory.pdfs);
}
+ const manualSuffixes = [".webm"];
+
+ async function UploadAudio(file: File, format: string) {
+ const suffix = manualSuffixes.includes(format) ? format : undefined;
+ return MoveParsedFile(file, Directory.audio, suffix);
+ }
+
/**
* Uploads an image specified by the @param source to Dash's /public/files/
* directory, and returns information generated during that upload