我基本上是在里面覆盖 overwriteME.jpg
const screenshotDesktop = require('screenshot-desktop')
const sharp = require('sharp');
(async () => {
while (1 < 5){
var currentShot = screenshotDesktop.all()
.then(imgs => {
return fs.writeFile(`/Users/ga/proj/overwriteME.jpg`, imgs[0], (err) => {
if (err) throw err;
crop();
});
});
await delay(1000);
}
async function crop(crop){
// original size from metadata
var resizedImage = await sharp('/Users/ga/proj/overwriteME.jpg');
var metadata = await resizedImage.metadata();
console.log(metadata);
};
})();
function delay(timeout) {
return new Promise((resolve) => {
setTimeout(resolve, timeout);
});
}
我期望不同的元数据,因为我正在截取屏幕上播放的视频并覆盖 overwriteME.jpg,并使用 Sharp 提取元数据。
实际发生的是返回相同的元数据,当时我认为Sharp 会反映文件更改。
不知何故,文件正在发生变化,但是当夏普读取它时,它从一开始就引用了同一张旧图片。