feat: implémenter le convertisseur HEIC → JPEG

This commit is contained in:
2026-05-27 10:05:34 +02:00
parent 4e9640ddfa
commit a3a85dfff1
+27 -1
View File
@@ -1,3 +1,29 @@
/**
* Convertit un fichier HEIC/HEIF en Blob JPEG.
* @param {File} file
* @returns {Promise<Blob>}
* @throws {TypeError} si l'entrée n'est pas un fichier HEIC/HEIF
* @throws {Error} si la conversion échoue
*/
export async function convertHeicToJpeg(file) { export async function convertHeicToJpeg(file) {
throw new Error('Not implemented'); if (!(file instanceof File)) {
throw new TypeError("L'entrée doit être un objet File");
}
// Certains iPhone envoient un type MIME vide pour les HEIC — on l'autorise
const type = file.type.toLowerCase();
if (type !== '' && !['image/heic', 'image/heif'].includes(type)) {
throw new TypeError(`Format attendu : HEIC/HEIF. Reçu : ${file.type}`);
}
const result = await heic2any({
blob: file,
toType: 'image/jpeg',
quality: 0.92,
});
const blob = Array.isArray(result) ? result[0] : result;
if (!(blob instanceof Blob)) {
throw new Error("heic2any n'a pas retourné un Blob");
}
return blob;
} }