From 2bd1e522d4cbaa6340b1abd600cdc0c8ef42abe8 Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 25 Aug 2022 13:15:26 +0800 Subject: [PATCH] core: fix storage.put(stream) --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/service/storage.ts | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 5f74ddf2..2f48f2ee 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.16.2", + "version": "3.16.3", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/service/storage.ts b/packages/hydrooj/src/service/storage.ts index 78295a88..166ae338 100644 --- a/packages/hydrooj/src/service/storage.ts +++ b/packages/hydrooj/src/service/storage.ts @@ -10,7 +10,7 @@ import { BucketItem, Client, ItemBucketMetadata } from 'minio'; import { Logger } from '../logger'; import { builtinConfig } from '../settings'; import { MaybeArray } from '../typeutils'; -import { md5 } from '../utils'; +import { md5, streamToBuffer } from '../utils'; const logger = new Logger('storage'); @@ -261,7 +261,8 @@ class LocalStorageService { target = resolve(this.dir, target); await ensureDir(dirname(target)); if (typeof file === 'string') await copyFile(file, target); - else await writeFile(target, file); + else if (file instanceof Buffer) await writeFile(target, file); + else await writeFile(target, await streamToBuffer(file)); } async get(target: string, path?: string) {