kulonful
@kulonful
backend developer

Как сделать такую переменную?

Идёт выполнение функции в обработке запроса на стороне сервера, нужно сделать переменную, которая будет хранить request.body.title. В коде
var app = require("express")();
var bodyParser = require('body-parser');
var fs = require('fs');
var http = require("http").Server(app);
var multer = require("multer");

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));

var all_audio;

app.get('/', function(req, res) {
    res.send('Вы не задали параметров<hr><small>Эта страница была сгенерирована автоматически сайтом kulonful.ru</small>');
})

var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, '../../../../../../var/www/sources/audio/');
    },
    filename: function (req, file, cb) {
        var all_audio_cut = all_audio.slice(0,-1), ids = 0;
        for(var a = 0; a<all_audio_cut.length; a++)
        {
            if(all_audio_cut[a] == '{') {ids = ids+1;}
        }
        all_audio_cut = all_audio_cut + ',{"id":"' + ids + '","title":"Запись названия временно недоступна"}]';// место 1
        var filenames = "mus" + ids + ".mp3";
        all_audio = all_audio_cut;
        fs.writeFile("audio.cfg", all_audio_cut);
        cb(null, filenames);
    },
    onFileUploadComplete: function (file) {
    res.sendStatus(200);
    }
})

var upload = multer({storage:storage})

app.post('/upload', upload.single('file'), function (req, res) {
    res.send('Аудиозапись была загружена на сервер'); // Место 2
})
комментариями помечены места, во втором месте присутствует переменная req, нужно чтоб её значение попало в первое место.
  • Вопрос задан
  • 273 просмотра
Пригласить эксперта
Ответы на вопрос 2
EreminD
@EreminD
Кое-что умею
простите мне мою глупость. А почему вот так нельзя?
var currentTitle;

var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, '../../../../../../var/www/sources/audio/');
    },
    filename: function (req, file, cb) {
        var all_audio_cut = all_audio.slice(0,-1), ids = 0;
        for(var a = 0; a<all_audio_cut.length; a++)
        {
            if(all_audio_cut[a] == '{') {ids = ids+1;}
        }
        all_audio_cut = all_audio_cut + ',{"id":"' + ids + '","title":' + currentTitle + '}]';// место 1
        var filenames = "mus" + ids + ".mp3";
        all_audio = all_audio_cut;
        fs.writeFile("audio.cfg", all_audio_cut);
        cb(null, filenames);
    },
    onFileUploadComplete: function (file) {
    res.sendStatus(200);
    }
})

var upload = multer({storage:storage})

app.post('/upload', upload.single('file'), function (req, res) {
    res.send('Аудиозапись была загружена на сервер'); // Место 2
    currentTitle = req.body.title;
})
Ответ написан
Cryden
@Cryden
webdesign, webdevelopment. Мой сайт: fun-wiki.ru
Для правильной логики выполнения асинхронных функций используйте Promise. Хорошая статья для новичков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы