2016-09-29 3 views
1

Не могли бы вы рассказать мне, что я делаю неправильно, когда пытаюсь загрузить изображение в облачный?Не удается загрузить изображение в облачный

app.js Мне не нужно хранить изображения на сервере, поэтому я храню его в памяти. var cloudinary = require('cloudinary'); cloudinary.config({ cloud_name: 'hidden', api_key: 'hidden', api_secret: 'hidden' }); var multer = require('multer'); var storage = multer.memoryStorage() var upload = multer({ storage: storage })

Форма сайта (нефрит/МОПС) form(action="/?_csrf="+csrfToken method="post" enctype='multipart/form-data') input(type="file" name="avatar") input(type="submit" value="upload")

App сообщение

app.post('/', upload.single('avatar'), function(req, res, next){ 
 
    
 
    console.log('Should be undefined:', req.file.path); //yes 
 
     console.log('Should be the buffer:', req.file.buffer); //yes 
 
     cloudinary.uploader.upload(req.file.path, function(result) {   console.log(result) }); 
 
    });

и я получаю ошибку { error: { message: 'Missing required parameter - file', http_code: 400 } }

ответ

1
i find out how (just use Datauri): 

var dUri = new Datauri(); 
 
    dUri.format(path.extname('TEST').toString(), req.file.buffer); 
 

 
    cloudinary.uploader.upload(dUri.content, function (err, result) { 
 
    if (err) { 
 
    console.log(err); 
 
    } else { 
 
    console.log(result); 
 
    } 
 
});