Моя загруженная форма содержит файл и поле "filepath", которое генерируется динамически и содержит желаемый путь к файлу, который я загружаю.
Пример:
filepath: "assets/images/asset-01-02/"
Я пытаюсь установить это поле как переменную, чтобы сохранить файл в этом каталоге, чтобы сохранить упорядоченные загруженные файлы.
Текущийкод:
const cors = require('cors');
const express = require('express');
const app = express();
const formidable = require('formidable');
app.use(cors());
app.options('*', cors());
app.post('/upload', (req, res) => {
var form = new formidable.IncomingForm();
form.parse(req, (err, fields, files) => {
if (err) {
console.log('Error', err)
throw err
}
console.log(fields.filepath); //Output e.g. "assets/images/asset-01-02/"
})
form.on('fileBegin', (name, file) => {
//Need to use fields.filepath after '/public/uploads/'
//e.g. __dirname + '/public/uploads/' + fields.filepath + file.name;
file.path = __dirname + '/public/uploads/' + file.name;
});
form.on('file', (name, file) => {
console.log('Uploaded ' + file.name);
});
});
app.listen(80, function(){
console.log('Listening on Port 80...');
});
Мне нужно передать значение fields.filepath
в функцию form.on('fileBegin')
, но я не уверен, как это сделать.Я не встречал ни одного примера этой конкретной проблемы.