aboutsummaryrefslogtreecommitdiff
path: root/src/server/DashUploadUtils.ts
diff options
context:
space:
mode:
authorEleanor Eng <eleanor.eng5@gmail.com>2019-11-16 16:37:36 -0500
committerEleanor Eng <eleanor.eng5@gmail.com>2019-11-16 16:37:36 -0500
commitb5111d4f4c44b845b7dd324e4332bcdc12eda0b8 (patch)
tree3c8ecc0af2accd5a49d6ff3ba1e46e7dab82858d /src/server/DashUploadUtils.ts
parentc24c16efbf798eac1003811f6c0ed98bfc65f48e (diff)
parentab285371f6fb2a4f1e64888bafbc84b602f23416 (diff)
merge
Diffstat (limited to 'src/server/DashUploadUtils.ts')
-rw-r--r--src/server/DashUploadUtils.ts17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/server/DashUploadUtils.ts b/src/server/DashUploadUtils.ts
index 46d897339..8f5b0e1a8 100644
--- a/src/server/DashUploadUtils.ts
+++ b/src/server/DashUploadUtils.ts
@@ -5,6 +5,7 @@ import * as sharp from 'sharp';
import request = require('request-promise');
import { ExifData, ExifImage } from 'exif';
import { Opt } from '../new_fields/Doc';
+import { SharedMediaTypes } from './SharedMediaTypes';
const uploadDirectory = path.join(__dirname, './public/files/');
@@ -15,17 +16,22 @@ export namespace DashUploadUtils {
suffix: string;
}
+ export interface ImageFileResponse {
+ name: string;
+ path: string;
+ type: string;
+ exif: Opt<DashUploadUtils.EnrichedExifData>;
+ }
+
export const Sizes: { [size: string]: Size } = {
SMALL: { width: 100, suffix: "_s" },
MEDIUM: { width: 400, suffix: "_m" },
LARGE: { width: 900, suffix: "_l" },
};
- const gifs = [".gif"];
- const pngs = [".png"];
- const jpgs = [".jpg", ".jpeg"];
- export const imageFormats = [...pngs, ...jpgs, ...gifs];
- const videoFormats = [".mov", ".mp4"];
+ export function validateExtension(url: string) {
+ return SharedMediaTypes.imageFormats.includes(path.extname(url).toLowerCase());
+ }
const size = "content-length";
const type = "content-type";
@@ -128,6 +134,7 @@ export namespace DashUploadUtils {
contentSize,
contentType,
};
+ const { pngs, imageFormats, jpgs, videoFormats } = SharedMediaTypes;
return new Promise<UploadInformation>(async (resolve, reject) => {
const resizers = [
{ resizer: sharp().rotate(), suffix: "_o" },