Загрузка файла Sails JS; Как проверить, является ли файл входным?

Я использую Sails JS v11.05.

Загрузка файла не является обязательным полем.

Как проверить, был ли файл загружен или нет?

Обычно я использую

if (!req.param('param')) {
   // param does NOT exist - was not uploaded
   // This does not apply to file input params.
}

// However, the following will break as it will start a listener (upstream)
if (!req.file('param')) {
   // File was not uploaded
}

Все, что я хочу знать, является ли файл входным или нет, поэтому я не удосужился вызвать req.file('file'). Upload(), если он не был загружен.

Идеи?

1 ответ

Решение

Я не смог найти что-либо, чтобы сделать это, но мы можем использовать слушатель Upstream для загрузки пустого файла, но тогда он вернется и очистит uploadedFiles в обратном вызове.

Обратите внимание, что если вы запустите req.file('file_input'), вы можете убить сервер узла, так как он вызывает слушателя.

Для получения дополнительной информации см. https://www.npmjs.com/package/skipper

Решение

req.file('file_input').upload(options, function (err, uploadedFiles) {
        if (err) return cb(err);
        if (_.isEmpty(uploadedFiles)) return cb();
        // A file was attached do 
});

Другие вопросы по тегам