2016-03-09 1 views
0

Я хотел бы загрузить несколько файлов изображений на свой сервер. На стороне клиента я использую dropzone.js. Мой внутренний сервер - sails.js, и я хотел бы использовать грозный, чтобы обновить клиент с помощью индикатора выполнения (я довольно новичок в sails.js и node.js)загрузить файл с sails.js dropzone.js и грозным: запрос отменен

Это мой контроллер (написано с машинописи)

export var upload = function (req: express.Request, res: express.Response, next) { 
 
    
 
    var form = new formidable.IncomingForm(); 
 

 
    form.parse(req, function (err, fields, files) {    
 
    }); 
 

 
    form.on('progress', function (bytesReceived, bytesExpected) { 
 
     // calculating perscent and logging progress message 
 
    }); 
 

 
    form.on('error', function (err) { 
 
     console.error(err); // --> here I get "Request aborted" 
 
    }); 
 

 
    form.on('end', function (fields, files) { 
 
     // here I save files to disk with fs-extra and I 
 
     // send back to client appropriate status 
 
    });  
 
}

Я получаю 'запрос прерванную' в обработчик ошибок. Я сделал несколько поисков в stackoverflow и на google, но не нашел четкого ответа. Проблема, по-видимому, связана с данными с несколькими частями и соответствующим явным промежуточным программным обеспечением для использования для анализа тела. Как я могу установить приложение sails.js, чтобы загрузить файл с помощью dropzone.js на клиенте и паруса + грозное на сервере?

Любая помощь будет весьма признателен

+0

Я не достаточно хорошо знаком с машинописи, но обычно в 'sails.js', вы просто передать' Fn (REQ, Рез, следующий) 'в контроллерах. Я не уверен, что означает 'res: express.Response' означает – Bwaxxlo

+0

Не волнуйтесь. Они удаляются с помощью машинописного компилятора во время процесса сборки, так что фактический выходной файл .js, используемый в приложении, как и следовало ожидать: fn (req, res, next) {....} – TheSoul

+0

Эй, вы нашли способ работать с SailsJs и грозным. Я также получаю сообщение «Запрос прервано». Я понял, что запрос на загрузку файлов stucks в состояние ожидания, а также 'form.progress (...)' не инициализируется. Я думаю, что это может быть 'var form = new formidable.IncomingForm();' выполняется в другое время и его событие не совпадает с отправленными файлами. – Leo

ответ

0

С Dropzone и Sails.js, вы должны:

добавить definination имени файла конфигурации Dropzone: Dropzone.options.myDropzone = {ParamName: " имя_файла»}

использовать эту команду, чтобы получить обратно загруженный файл:. req.file ('имя_файла') загрузить (функция (эээ, uploadedFiles) {

});

uploadedFiles содержит файл

Смежные вопросы