gallery_server_client_s190js/test_fn/test_cast_path.js
2026-10-26 11:00:14 +01:00

74 lines
1.5 KiB
JavaScript

const fs = require("fs");
const path = require("path");
const sharp = require("sharp");
const originalFile =
"public/photos/Jessica/original/2021-Santarcangelo/IMG_20210602_100423.jpg";
const outputFile =
"public/cast/Jessica/photos/2021-Santarcangelo/IMG_20210602_100423_cast.jpg";
async function main() {
console.log("[TEST] Originale:");
console.log(originalFile);
if (!fs.existsSync(originalFile)) {
throw new Error("File originale non trovato");
}
await fs.promises.mkdir(
path.dirname(outputFile),
{
recursive: true,
}
);
const result = await sharp(originalFile, {
failOn: "none",
})
.rotate()
.resize({
width: 1920,
height: 1080,
fit: "inside",
withoutEnlargement: true,
})
.flatten({
background: {
r: 0,
g: 0,
b: 0,
},
})
.jpeg({
quality: 85,
progressive: true,
chromaSubsampling: "4:2:0",
optimiseCoding: true,
})
.toFile(outputFile);
console.log("");
console.log("[TEST] Cast creato:");
console.log(outputFile);
console.log("");
console.log("[TEST] Dimensioni:");
console.log(`${result.width}x${result.height}`);
console.log("");
console.log("[TEST] Bytes:");
console.log(result.size);
console.log("");
console.log("==========================");
console.log("TEST OK");
console.log("==========================");
}
main().catch((err) => {
console.error("");
console.error("TEST FALLITO");
console.error(err);
process.exit(1);
});