Ajouter une route pour récupérer une image par ID de mesure
This commit is contained in:
@@ -84,4 +84,49 @@ router.get('/images/:projectId/:orderId', (req, res) => {
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* @swagger
|
||||
* /images/{measurementId}:
|
||||
* get:
|
||||
* summary: Retrieve an image by measurement ID
|
||||
* parameters:
|
||||
* - in: path
|
||||
* name: measurementId
|
||||
* required: true
|
||||
* schema:
|
||||
* type: string
|
||||
* description: The measurement ID
|
||||
* responses:
|
||||
* 200:
|
||||
* description: An image file
|
||||
* content:
|
||||
* application/octet-stream:
|
||||
* schema:
|
||||
* type: string
|
||||
* format: binary
|
||||
* 404:
|
||||
* description: Image not found
|
||||
*/
|
||||
router.get('/images/:measurementId', (req, res) => {
|
||||
const measurementId = req.params.measurementId;
|
||||
const query = 'SELECT path FROM public.measurements WHERE id = $1';
|
||||
db.query(query, [measurementId], (err, results) => {
|
||||
if (err) {
|
||||
return serverError.sendError('Error getting image:', res, err);
|
||||
}
|
||||
if (results.rows.length === 0) {
|
||||
return res.status(404).json({ error: 'Image not found' });
|
||||
}
|
||||
const imagePath = results.rows[0].path;
|
||||
fs.access(imagePath, fs.constants.F_OK, (err) => {
|
||||
if (err) {
|
||||
console.error('Image not found:', err);
|
||||
return res.status(404).json({ error: 'Image not found' });
|
||||
}
|
||||
res.download(imagePath);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user