Метеор файлы искажают изображение после загрузки - PullRequest
0 голосов
/ 19 сентября 2018

Сохраняю изображения в коллекцию FilesCollection после того, как загружаемые изображения отображаются в браузере искаженными или неполными. incomplete image

В каталоге temp отображается полное изображение после получения изображения из приложенияно искажение происходит только после сохранения в базе данных mongoDB с использованием метеорологических файлов

let Busboy = require("busboy");
    let path = require("path"),
      os = require("os"),
      fs = require("fs");
    let tempPath;

    WebApp.connectHandlers.use("/upload", (req, res, next) => {
      var busboy = new Busboy({
        headers: req.headers
      });
      busboy.on("file", (fieldname, file, filename, encoding, mimetype) => {
        tempPath = path.join("/Users/abednegotm/Desktop", path.basename(fieldname));
        file.pipe(fs.createWriteStream(tempPath));
        console.log(filename);

        let size = "";
        //retrive file size
        file.on("data", data => {
          size = data.length;
        });

        fs.stat(tempPath, (_statError, _statData) => {
          const _addFileMeta = {
            fileName: filename,
            type: mimetype,
            size: size
          };
//This portion of code that save image to the collection
          fs.readFile(tempPath, (_readError, _readData) => {
            if (_readError) {
              console.log(_readError);
            } else {
              PropertyImages.write(_readData, _addFileMeta, function(
                _uploadError,
                _uploadData
              ) {
                if (_uploadError) {
                  console.log(_uploadError);
                } else {
                  console.log("Data saved to DB");
                  //unlink or remove file from temporal location after upload
                  fs.unlink(tempPath, err => {
                    if (err) throw err;
                    console.log("file removed from temp");
                  }); // remove temp upload
                }
              });
            }
          });
        }); //stat
      });
      busboy.on("finish", function() {
        res.writeHead(200, {
          Connection: "close"
        });
        res.end();
      });
      return req.pipe(busboy);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...