var multer = require('multer');
var fs = require('fs');
const nodemailer = require('nodemailer');
const db = require('./db');
const Image = db.images;
const fileUploadModel = require('./../upload-model');
const path = require('path');
var upload = (req, res) => {
console.log(req.files);
console.log(req.files.file.name);
var uploadDoc = req.files.file;
var storage = multer.diskStorage({
destination: function (req,files, cb) {
cb(null, './temp')
},
filename: function (req,files, cb) {
var datetimestamp = Date.now();
cb(null, uploadDoc.originalname.split('.')[uploadDoc.originalname.split('.').length - 2] + '-' + datetimestamp + '.' + uploadDoc.originalname.split('.')[uploadDoc.originalname.split('.').length - 1]);
}
})
var upload = multer({ storage: storage });
var fileUpload = new fileUploadModel(req.files.file);
fileUpload.save({
type:uploadDoc.type,
name:uploadDoc.name,
data: fs.readFileSync('./temp/'+uploadDoc.name)
}).then(image => {
try{
fs.writeFileSync('./temp-uploads/' + image.name, image.data);
res.json({'msg': 'File uploaded successfully!', 'file': uploadDoc.file});
}catch(e){
console.log(e);
res.json({'err': e});
}
})
};
В папке temp ничего не хранится. Где я читаю файл, который показывает время Ошибка: ENOENT: нет такого файла или каталога.
В этих данных: fs.readFileSync('./temp/'+uploadDoc.name)
строка получает только ошибку, потому что во временной папке файлы не хранятся. Я не знаю, где я допустил ошибку.
Сначала это вызывает проблему. После этого я решаю.
Теперь это вызывает ошибку в папке назначения.