summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/file/assets/thumbnail-not-available.pngbin0 -> 8822 bytes
-rw-r--r--src/file/server.ts11
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
new file mode 100644
index 0000000000..f960ce4d00
--- /dev/null
+++ b/src/file/assets/thumbnail-not-available.png
Binary files differ
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;
})();