2017-07-09 57 views
0

我试图创建文件并将它们放入文件夹,然后发送链接到Microsoft Emotion API。创建/重新加载node.js中的动态快速文件夹

app.use(bodyParser.urlencoded({ extended: false })); 
app.use(bodyParser.json({limit: '4mb'})); 

app.use('/pics', express.static(path.join(__dirname, 'pics'))) 
app.post('/face', function(req, res){ 
    var base64Data = req.body.img.replace(/^data:image\/png;base64,/, ""); 
    var id; 
    fs.readdir("./pics", (err, files) => { 
     id = files.length; 
     fs.writeFile(`./pics/${id}.png`, base64Data, 'base64', function(err) { 
      console.log(err); 
      reload(http, app); 
      setTimeout(function(){ 
       fetch(`https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize`, { 
        method: "POST", 
        data: `{"url": "${"https://{ngrok-id}.ngrok.io/pics/"+id+".png"}"}`, 
        headers: { 
         'Content-Type': 'application/json', 
         'Ocp-Apim-Subscription-Key': '{api-key}' 
        } 
       }).then(function(data) { 
        return data.json(); 
       }).then(function(data){ 
        console.log(`{"url": "${"https://{ngrok-id}.ngrok.io/pics/"+id+".png"}"}`); 
        res.json(data); 
       }); 
      }, 2000); 
     }); 
    }); 
}); 

有没有办法让快递文件夹动态或重新加载静态文件夹?

回答

0

我认为你误解了术语静态。简而言之,这意味着:

静态[资产]是不会改变的。

关键词:不改变。到目前为止,你的逻辑表示你将会在一个应该是静态的文件夹中对文件进行变异。不要这样做。

创建或使用不同的路径来修改文件。无法“重新加载文件夹”,无论是否为静态文件夹。您必须通过fs.readdir明确地从您正在执行的文件夹中读取。

0

您可以尝试进行实验: https://nodemon.io

这将重新加载整个应用程序,当内容它的变化。

该工具是为开发目的而构建的,我从未在生产中尝试过。但也许它符合你的需求。