为一条路线一次重命名两个图像的ExpressJS的路径名

时间:2013-12-09 08:13:24

标签: node.js express

我在做什么 ::我当前的expressjs程序用于将image位置从temp重命名为/public/images/ single image


  • 图片密钥名称 :: key
  • 我使用过 :: var file_name=req.files.key.originalFilename;

  • 现在,如果我有另一个图像密钥名称:: key1
  • 我必须使用key1作为:: var file_name=req.files.key1.originalFilename;

如何在一条路线上重命名两个图像,以便both images/public/images/位置移动到tmp


app.js

var express=require('express');
var fs=require('fs');
var http=require('http');
var crypto=require('crypto');

var app=express();


app.set('port',process.env.PORT||7002); 

app.use('/Details',express.static(__dirname+'/public/images'));

//.use(express.cookieParser());

app.use(express.bodyParser());

app.post('/Details/',function(req,res,next){



        var file_name=req.files.key.originalFilename;
        var file_name=req.files.key1.originalFilename;

        console.log(file_name);

        crypto.randomBytes(8, function(ex, buf) {

                var array     = req.files.key.originalFilename.split('.');
                var type      = array[array.length - 1];
                var name      = buf.toString('hex') + '.' + type;

                fs.rename(req.files.key.path, './public/images/' + name, function(e) {


                        if (e) {
                                res.send(500, e.message);
                                } else 
                                {
                                    res.send("I got the message - This i confirm");
                                }

                });

        });
});

app.get('/Details/',function(req,res){
        res.send("Image displayed");
});

http.createServer(app).listen(app.get('port'),function(){
        console.log('Express server listening on port'+app.get('port'));

});

根据我描述的方式,我如何修改expressjs代码

1 个答案:

答案 0 :(得分:0)

探索节点async。您可以使用async.parallel来实现此目的。这将有助于您在当时重命名这两个图像。