From d62b475fdd398c85664d554444b01a0337d8d280 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Tue, 5 Feb 2019 15:58:12 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/core/FileDecompressor.js | 3 ++- server/core/ReaderWorker.js | 3 ++- server/core/utils.js | 8 +++++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/server/core/FileDecompressor.js b/server/core/FileDecompressor.js index aa6e6721..d152ace8 100644 --- a/server/core/FileDecompressor.js +++ b/server/core/FileDecompressor.js @@ -1,6 +1,7 @@ const fs = require('fs-extra'); const zlib = require('zlib'); const crypto = require('crypto'); +const utils = require('./utils'); const decompress = require('decompress'); const FileDetector = require('./FileDetector'); @@ -51,7 +52,7 @@ class FileDecompressor { if (!await fs.pathExists(outFilename)) { await fs.writeFile(outFilename, await this.gzipBuffer(buf)) } else { - await fs.utimes(outFilename, Date.now()/1000, Date.now()/1000); + await utils.touchFile(outFilename); } return outFilename; diff --git a/server/core/ReaderWorker.js b/server/core/ReaderWorker.js index 797783f1..30f8467a 100644 --- a/server/core/ReaderWorker.js +++ b/server/core/ReaderWorker.js @@ -57,6 +57,7 @@ class ReaderWorker { downloadedFilename = `${this.config.uploadDir}/${url.substr(7)}`; if (!await fs.pathExists(downloadedFilename)) throw new Error('Файл не найден на сервере (возможно был удален как устаревший). Пожалуйста, загрузите файл с диска на сервер заново.'); + await utils.touchFile(downloadedFilename); isUploaded = true; } wState.set({progress: 100}); @@ -117,7 +118,7 @@ class ReaderWorker { if (!await fs.pathExists(outFilename)) { await fs.move(file.path, outFilename); } else { - await fs.utimes(outFilename, Date.now()/1000, Date.now()/1000); + await utils.touchFile(outFilename); await fs.remove(file.path); } diff --git a/server/core/utils.js b/server/core/utils.js index 2daf6118..f37ef205 100644 --- a/server/core/utils.js +++ b/server/core/utils.js @@ -1,3 +1,4 @@ +const fs = require('fs-extra'); const crypto = require('crypto'); function sleep(ms) { @@ -8,7 +9,12 @@ function randomHexString(len) { return crypto.randomBytes(len).toString('hex') } +async function touchFile(filename) { + await fs.utimes(filename, Date.now()/1000, Date.now()/1000); +} + module.exports = { sleep, - randomHexString + randomHexString, + touchFile }; \ No newline at end of file