Эх сурвалжийг харах

Новые upload-методы

Book Pauk 3 жил өмнө
parent
commit
091ca521ef

+ 8 - 1
server/controllers/WebSocketController.js

@@ -76,6 +76,8 @@ class WebSocketController {
                     await this.readerStorageDo(req, ws); break;
                 case 'upload-file-buf':
                     await this.uploadFileBuf(req, ws); break;
+                case 'upload-file-touch':
+                    await this.uploadFileTouch(req, ws); break;
 
                 default:
                     throw new Error(`Action not found: ${req.action}`);
@@ -182,7 +184,12 @@ class WebSocketController {
         this.send({url: await this.readerWorker.saveFileBuf(req.buf)}, req, ws);
     }
 
-
+    async uploadFileTouch(req, ws) {
+        if (!req.url)
+            throw new Error(`key 'url' is empty`);
+        
+        this.send({url: await this.readerWorker.uploadFileTouch(req.url)}, req, ws);
+    }
 }
 
 module.exports = WebSocketController;

+ 8 - 0
server/core/Reader/ReaderWorker.js

@@ -232,6 +232,14 @@ class ReaderWorker {
         return `disk://${hash}`;
     }
 
+    async uploadFileTouch(url) {
+        const outFilename = `${this.config.uploadDir}/${url.replace('disk://', '')}`;
+
+        await utils.touchFile(outFilename);
+
+        return url;
+    }
+
     async restoreRemoteFile(filename) {
         const basename = path.basename(filename);
         const targetName = `${this.config.tempPublicDir}/${basename}`;