2016-12-07 4 views
0

Je viens de commencer avec node. Je veux télécharger l'image sur le serveur, j'emploie le multer pour le téléchargement d'image. J'utilise le code ci-dessous que je suis capable de télécharger les images sur le serveur, mais pas en mesure de renvoyer l'URL de l'image au client comme réponse de succès. toute aide seraComment retourner l'URL de l'image en utilisant multer

var request = require('request'); 
var app = require('../app'); 
var util = require('../response_util'); 
var multer = require('multer'); 
var storage = multer.diskStorage({ 
    destination: function (req, file, callback) { 
    callback(null, 'public/upload'); 
    }, 
    filename: function (req, file, callback) { 
    var imageUrl = file.fieldname + '-' + Date.now()+'.jpg'; 
    callback(null, imageUrl); 
    } 
}); 
var upload = multer({ storage : storage }).single('image'); 

app.get('/img/home',function(req,res){ 
    res.send("welcome to image home"); 
}); 

app.post('/img/upload',function(req,res) { 
    upload(req,res,function(err,result) { 
    console.log(err); 
    console.log(result); 
     if(err) { 
      return res.end("Error uploading file."+err); 
     } 
     res.end("File is uploaded url : "+result); 
    }); 
}); 

Répondre

0
app.post('/img/upload',function(req,res) { 
upload(req,res,function(err,result) { 
console.log(err); 
console.log(result); 
    if(err) { 
     return res.end("Error uploading file."+err); 
    } 
    var path = req.file.path; 
    res.end("File is uploaded url : " + this.path); 
}); 

Vous pouvez prendre chemin du fichier téléchargé en utilisant l'objet req.file.path dans multer. Cela fonctionne pour moi.