Я использую multer в моем приложении node.js, хотя я пытаюсь понять, как мне нужно найти, где multer поместил файл в мою функцию post, чтобы я мог выполнять пост-обработку на нем. Каков правильный путь? В настоящее время у меня есть это:файлы для мультера и пост-обработки?
var express = require('express')
var app = express()
var multer = require('multer')
var upload = multer()
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, './public/uploads/');
},
filename: function (req, file, callback) {
callback(null, file.fieldname + '-' + Date.now());
}
});
var cpUpload = upload.fields([{ name: 'myfile', maxCount: 1 }]);
app.post('/profile', cpUpload, function (req, res, next) {
var destination, filename;
storage.getDestination(req, req.files.myfile[0], function(param1, dest) { destination = dest; })
storage.getFilename(req, req.files.myfile[0], function(param1, fn) { filename = fn; })
var path = destination + '/' + filename;
})
Я посмотрел в req.files.myfile[0]
записи, чтобы увидеть, если был предоставлен путь назначения, но это, кажется, не так:
{ fieldname: 'myfile',
originalname: 'mytextfile.txt',
encoding: '7bit',
mimetype: 'text/plain' }
Я хочу быть уверен, что любой подход, который я использовал, совместим с ожиданиями API.
является 'req.files.myfile' фактически установлен в массив или это не определено? Если он установлен, что содержит 'req.files.myfile'? – mscdex
Обновлен вопрос, чтобы отразить то, что я вижу –
Это странно, теперь я вижу имя файла, путь и назначение как часть результата. Помимо создания новой установки npm, я не уверен, что еще я мог бы изменить здесь? –