diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/file/assets/thumbnail-not-available.png | bin | 0 -> 8822 bytes | |||
| -rw-r--r-- | src/file/server.ts | 11 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/file/assets/thumbnail-not-available.png b/src/file/assets/thumbnail-not-available.png Binary files differnew file mode 100644 index 0000000000..f960ce4d00 --- /dev/null +++ b/src/file/assets/thumbnail-not-available.png diff --git a/src/file/server.ts b/src/file/server.ts index fa03fb7772..844b3d7369 100644 --- a/src/file/server.ts +++ b/src/file/server.ts @@ -50,11 +50,22 @@ interface ISend { function thumbnail(data: stream.Readable, type: string, resize: number): ISend { const readable: stream.Readable = (() => { + // 画像ではない場合 if (!/^image\/.*$/.test(type)) { // 使わないことにしたストリームはしっかり取り壊しておく data.destroy(); return fs.createReadStream(`${__dirname}/assets/not-an-image.png`); } + + const imageType = type.split('/')[1]; + + // 画像でもPNGかJPEGでないならダメ + if (imageType != 'png' && imageType != 'jpeg') { + // 使わないことにしたストリームはしっかり取り壊しておく + data.destroy(); + return fs.createReadStream(`${__dirname}/assets/thumbnail-not-available.png`); + } + return data; })(); |