yusueketk 7 лет назад
Родитель
Сommit
bcfcace67e
1 измененных файлов с 13 добавлено и 3 удалено
  1. 13 3
      src/server/service/file-uploader/gridfs.js

+ 13 - 3
src/server/service/file-uploader/gridfs.js

@@ -48,7 +48,7 @@ module.exports = function(crowi) {
   };
   };
 
 
   /**
   /**
-   * write file with GridFS (Promise wrapper)
+   * write file to MongoDB with GridFS (Promise wrapper)
    */
    */
   const writeFile = (filePath, contentType, fileStream) => {
   const writeFile = (filePath, contentType, fileStream) => {
     return new Promise((resolve, reject) => {
     return new Promise((resolve, reject) => {
@@ -123,8 +123,8 @@ module.exports = function(crowi) {
     const fileStream = fs.createWriteStream(cacheFile);
     const fileStream = fs.createWriteStream(cacheFile);
     const file = await getFile(filePath);
     const file = await getFile(filePath);
     const id = file.id;
     const id = file.id;
-    const data = await readFileData(id);
-    fileStream.write(data);
+    const buf = await readFileData(id);
+    await writeCacheFile(fileStream, buf);
     return cacheFile;
     return cacheFile;
   };
   };
 
 
@@ -132,6 +132,16 @@ module.exports = function(crowi) {
     return path.join(crowi.cacheDir, `attachment-${fileId}`);
     return path.join(crowi.cacheDir, `attachment-${fileId}`);
   };
   };
 
 
+  /**
+   * write cache file (Promise wrapper)
+   */
+  const writeCacheFile = (fileStream, data) => {
+    return new Promise((resolve, reject) => {
+      fileStream.write(data);
+      resolve();
+    });
+  };
+
   lib.generateUrl = function(filePath) {
   lib.generateUrl = function(filePath) {
     return `/${filePath}`;
     return `/${filePath}`;
   };
   };