我正在尝试创建文件并将它们放入文件夹,然后发送一个指向Microsoft Emotion API的链接。
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);
});
});
});
有没有办法让Express文件夹动态化或重新加载静态文件夹?
答案 0 :(得分:0)
我认为你误解了静态一词。简而言之,它意味着:
静态[资产]是不会改变的事情。
关键词:不要改变。截至目前,您的逻辑表明您将改变文件夹中的文件,该文件夹应该是静态的。别这么做。
创建或使用不同的路径来改变文件。没有办法"重新加载文件夹",静态与否。您必须通过fs.readdir
显式读取您正在执行的文件夹。
答案 1 :(得分:0)