diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2018-08-16 07:59:16 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-16 07:59:16 +0900 |
| commit | a8fb0d477fb67661251c57910a0c4f3d2ac856d1 (patch) | |
| tree | 5986efd36e0a42acd290a37403059eb64a63b13e /src/server | |
| parent | Merge pull request #2252 from syuilo/greenkeeper/minio-7.0.0 (diff) | |
| parent | :v: (diff) | |
| download | sharkey-a8fb0d477fb67661251c57910a0c4f3d2ac856d1.tar.gz sharkey-a8fb0d477fb67661251c57910a0c4f3d2ac856d1.tar.bz2 sharkey-a8fb0d477fb67661251c57910a0c4f3d2ac856d1.zip | |
Merge pull request #2251 from syuilo/provide-thumbnails
Provide drive file thumbnails
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/file/send-drive-file.ts | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/server/file/send-drive-file.ts b/src/server/file/send-drive-file.ts index 1a76b0e41f..b904bda91b 100644 --- a/src/server/file/send-drive-file.ts +++ b/src/server/file/send-drive-file.ts @@ -1,5 +1,3 @@ -import * as fs from 'fs'; - import * as Koa from 'koa'; import * as send from 'koa-send'; import * as mongodb from 'mongodb'; @@ -51,23 +49,16 @@ export default async function(ctx: Koa.Context) { }; if ('thumbnail' in ctx.query) { - // 画像以外 - if (!file.contentType.startsWith('image/')) { - const readable = fs.createReadStream(`${__dirname}/assets/thumbnail-not-available.png`); - ctx.set('Content-Type', 'image/png'); - ctx.body = readable; - } else if (file.contentType == 'image/gif') { - // GIF - await sendRaw(); + const thumb = await DriveFileThumbnail.findOne({ + 'metadata.originalId': fileId + }); + + if (thumb != null) { + ctx.set('Content-Type', 'image/jpeg'); + const bucket = await getDriveFileThumbnailBucket(); + ctx.body = bucket.openDownloadStream(thumb._id); } else { - const thumb = await DriveFileThumbnail.findOne({ 'metadata.originalId': fileId }); - if (thumb != null) { - ctx.set('Content-Type', 'image/jpeg'); - const bucket = await getDriveFileThumbnailBucket(); - ctx.body = bucket.openDownloadStream(thumb._id); - } else { - await sendRaw(); - } + await sendRaw(); } } else { if ('download' in ctx.query) { |