Changeset 834bcc3 in Klonkt for src/services/ImageWebpService.js
- Timestamp:
- 06/23/2026 06:14:27 PM (3 months ago)
- Branches:
- main
- Children:
- d774679
- Parents:
- bb42dfb
- File:
-
- 1 edited
-
src/services/ImageWebpService.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ImageWebpService.js
rbb42dfb r834bcc3 1 1 /** 2 * Zet een zojuist-geüploade afbeelding om naar WebP (kleiner, modern).2 * Convert a freshly uploaded image to WebP (smaller, modern format). 3 3 * 4 * Gebruikt het systeem-`cwebp` (libwebp). Aanwezig → converteer + verwijder het5 * origineel, geef de nieuwe .webp-bestandsnaam terug. Niet aanwezig of fout →6 * geef de originele bestandsnaam terug (graceful fallback, niks breekt).4 * Uses the system `cwebp` (libwebp). Present → convert + delete the original, 5 * return the new .webp filename. Not present or error → return the original 6 * filename (graceful fallback, nothing breaks). 7 7 * 8 * GIF blijft GIF (cwebp maakt geen geanimeerde webp van een gif); reeds-webp9 * wordt overgeslagen.8 * GIF stays GIF (cwebp cannot produce animated WebP from a GIF); already-WebP 9 * files are skipped. 10 10 */ 11 11 import { execFileSync } from 'child_process'; … … 17 17 /** 18 18 * @param {{path:string, filename:string, destination?:string}} file multer file 19 * @returns {string} de definitieve bestandsnaam (basename) — .webp of het origineel19 * @returns {string} the final filename (basename) — .webp or the original 20 20 */ 21 21 export function toWebp(file) { … … 28 28 try { 29 29 execFileSync('cwebp', ['-quiet', '-q', QUALITY, file.path, '-o', outPath], { stdio: 'ignore' }); 30 if (!fs.existsSync(outPath) || fs.statSync(outPath).size === 0) throw new Error(' legeoutput');31 try { fs.unlinkSync(file.path); } catch { /* origin eel weg, niet kritisch*/ }30 if (!fs.existsSync(outPath) || fs.statSync(outPath).size === 0) throw new Error('empty output'); 31 try { fs.unlinkSync(file.path); } catch { /* original gone, not critical */ } 32 32 return outName; 33 33 } catch (e) { 34 console.warn('[webp] conversi e overgeslagen (cwebp niet beschikbaar/fout):', e.message);35 try { if (fs.existsSync(outPath)) fs.unlinkSync(outPath); } catch {} // ruim halve output op36 return file.filename; // behoud origineel34 console.warn('[webp] conversion skipped (cwebp not available/error):', e.message); 35 try { if (fs.existsSync(outPath)) fs.unlinkSync(outPath); } catch {} // clean up partial output 36 return file.filename; // keep original 37 37 } 38 38 }
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)