From 3e897727ca7c8b0b5ba11c9d1866dc87ea136c22 Mon Sep 17 00:00:00 2001 From: sei0o inoue Date: Sun, 7 Oct 2018 16:51:46 +0900 Subject: [PATCH] Fix #2773 (#2841) * Added an API endpoint to check the existence of the file * fix #2773: Now we can prevent users from posting the same images * bug fix --- src/client/app/common/scripts/get-md5.ts | 8 ++ .../app/common/views/components/uploader.vue | 94 ++++++++++++------- .../endpoints/drive/files/check_existence.ts | 38 ++++++++ 3 files changed, 106 insertions(+), 34 deletions(-) create mode 100644 src/client/app/common/scripts/get-md5.ts create mode 100644 src/server/api/endpoints/drive/files/check_existence.ts diff --git a/src/client/app/common/scripts/get-md5.ts b/src/client/app/common/scripts/get-md5.ts new file mode 100644 index 000000000..24ac04c1a --- /dev/null +++ b/src/client/app/common/scripts/get-md5.ts @@ -0,0 +1,8 @@ +const crypto = require('crypto'); + +export default (data: ArrayBuffer) => { + const buf = new Buffer(data); + const hash = crypto.createHash("md5"); + hash.update(buf); + return hash.digest("hex"); +}; \ No newline at end of file diff --git a/src/client/app/common/views/components/uploader.vue b/src/client/app/common/views/components/uploader.vue index 19b0d1570..fed6477c0 100644 --- a/src/client/app/common/views/components/uploader.vue +++ b/src/client/app/common/views/components/uploader.vue @@ -20,6 +20,7 @@