fs.writeFile在循环node.js中不起作用

时间:2014-07-29 08:29:26

标签: javascript node.js

我正在尝试在node.js中编写多个文件并将其路径保存在数据库中。 我对writng文件有一些奇怪的情况 -

 var sessionId = req.session.Id;
        var imagelength = req.files.images[0];
        var lengthofarray = JSON.stringify(imagelength.length);
        var arr = [];
        for (var i = 0; i < lengthofarray; i++) {
            var filenameas = "." + imagelength[i].filename.split('.').pop();
            var newGuid = guid();
            var UserFolder = "public/ImagesOfUser" + "/" + "User_" + sessionId;
            var checkourstory = "public/ImagesOfUser" + "/" + "User_" + sessionId + "/" + "OurStory";
            var userImages = "ImagesOfUser" + "/" + "User_" + sessionId + "/" + "OurStory" + "/" + newGuid + filenameas;

            if (!fs.existsSync(UserFolder)) {
                fs.mkdir(UserFolder);
            }
            if (!fs.existsSync(checkourstory)) {
                fs.mkdir(checkourstory);
            }

            fs.readFile(imagelength[i].path, function (err, data) {
                fs.writeFile(checkourstory + "/" + newGuid + filenameas, data, function (err) {
                });
            });
            connection.init();
            connection.query('insert into usergallary (UserId,Image_Path,SectionName) values(?,?,?)', [sessionId, userImages, "OurStory"], function (reqest, reslt) {
            });
        }

注意 我正在通过循环保存数据库中的文件路径,它保存了多个文件条目。 但是当我尝试在正在执行数据库的同一循环中循环写入文件时,它就不会多次写入。

它只从循环中写入一个文件。 如何编写阵列中的多个文件?

0 个答案:

没有答案