Ajout d'un draft d'un quizz + un draft de l'exploitation des images via un webrequest sur pictureEngine.js
This commit is contained in:
43
ui/src/services/pictureEngine.js
Normal file
43
ui/src/services/pictureEngine.js
Normal file
@ -0,0 +1,43 @@
|
||||
import express from 'express';
|
||||
import { promises as fs } from 'fs';
|
||||
import path from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
|
||||
const app = express();
|
||||
const port = 3000;
|
||||
|
||||
// Obtenir le chemin du répertoire parent
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
|
||||
// Middleware pour gérer les requêtes depuis le frontend
|
||||
app.use((req, res, next) => {
|
||||
res.setHeader('Access-Control-Allow-Origin', '*');
|
||||
res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
|
||||
next();
|
||||
});
|
||||
|
||||
// Le dossier assets est situé un niveau au-dessus du dossier services
|
||||
const assetsDir = path.join(__dirname, '..', 'quizz/geography-history');
|
||||
console.log(assetsDir)
|
||||
|
||||
// Middleware pour servir les fichiers statiques
|
||||
app.use('/images', express.static(assetsDir));
|
||||
|
||||
// API pour lister les fichiers d'image
|
||||
app.get('/images-list', async (req, res) => {
|
||||
try {
|
||||
const files = await fs.readdir(assetsDir);
|
||||
|
||||
// Filtrer pour ne renvoyer que les fichiers d'image (par ex : .jpg, .png)
|
||||
const images = files.filter(file => /\.(jpg|jpeg|png|gif)$/.test(file));
|
||||
res.json(images);
|
||||
} catch (err) {
|
||||
|
||||
res.status(500).send('Erreur lors de la lecture du dossier');
|
||||
}
|
||||
});
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(`Serveur démarré sur http://localhost:${port}`);
|
||||
});
|
Reference in New Issue
Block a user