From 782b4685939a3d814c5fd55fb7d0ef0e358bdc29 Mon Sep 17 00:00:00 2001 From: killagu Date: Sat, 21 Sep 2024 23:56:12 +0800 Subject: [PATCH 1/2] chore: gzip file to xtransit dir --- commands/upload_file.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/commands/upload_file.js b/commands/upload_file.js index 454dafc..6a093b6 100644 --- a/commands/upload_file.js +++ b/commands/upload_file.js @@ -7,6 +7,7 @@ const qs = require('querystring'); const FormData = require('form-data'); const urllib = require('urllib'); const { promisify } = require('util'); +const crypto = require('crypto'); const exists = promisify(fs.exists); const stat = promisify(fs.stat); const unlink = promisify(fs.unlink); @@ -19,7 +20,9 @@ const cleanAfterUpload = process.env.XTRANSIT_CLEAN_AFTER_UPLOAD; console.warn = function() { }; async function gzipFile(filePath) { - const gzippedFile = path.join(path.dirname(filePath), `${path.basename(filePath)}.gz`); + // 避免文件同名,对原路径取 md5 哈希作为新文件名 + const fileName = crypto.createHash('md5').update(filePath).digest('hex'); + const gzippedFile = path.join(utils.getXtransitPath(), `${fileName}.gz`); if (await exists(gzippedFile)) { return gzippedFile; } From 08f16a1e426aa178dc604f2714072a36f16b8763 Mon Sep 17 00:00:00 2001 From: killagu Date: Sun, 22 Sep 2024 19:40:13 +0800 Subject: [PATCH 2/2] f --- commands/upload_file.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/commands/upload_file.js b/commands/upload_file.js index 6a093b6..d535618 100644 --- a/commands/upload_file.js +++ b/commands/upload_file.js @@ -21,8 +21,8 @@ console.warn = function() { }; async function gzipFile(filePath) { // 避免文件同名,对原路径取 md5 哈希作为新文件名 - const fileName = crypto.createHash('md5').update(filePath).digest('hex'); - const gzippedFile = path.join(utils.getXtransitPath(), `${fileName}.gz`); + const pathHash = crypto.createHash('md5').update(filePath).digest('hex'); + const gzippedFile = path.join(utils.getXtransitPath(), `${path.basename(filePath)}-${pathHash}.gz`); if (await exists(gzippedFile)) { return gzippedFile; }