diff --git a/client/src/components/media-upload.tsx b/client/src/components/media-upload.tsx index 9340414..6200180 100644 --- a/client/src/components/media-upload.tsx +++ b/client/src/components/media-upload.tsx @@ -115,7 +115,14 @@ export default function MediaUpload() { const handleCameraCapture = (e: React.ChangeEvent) => { const file = e.target.files?.[0]; if (file) { - uploadMutation.mutate(file); + // Correction Android : créer un nom valide si le fichier n'a pas de nom + let fileToUpload = file; + if (!file.name || file.name === 'blob' || file.name === '') { + const extension = file.type.split('/')[1] || 'jpg'; + const newFileName = `camera-${Date.now()}.${extension}`; + fileToUpload = new File([file], newFileName, { type: file.type }); + } + uploadMutation.mutate(fileToUpload); // Réinitialiser l'input pour permettre de capturer la même photo à nouveau e.target.value = ''; } diff --git a/client/src/pages/new-post.tsx b/client/src/pages/new-post.tsx index c841d79..83fd9dc 100644 --- a/client/src/pages/new-post.tsx +++ b/client/src/pages/new-post.tsx @@ -294,7 +294,14 @@ export default function NewPost() { const handleCameraCapture = (e: React.ChangeEvent) => { const file = e.target.files?.[0]; if (file) { - uploadMutation.mutate(file); + // Correction Android : créer un nom valide si le fichier n'a pas de nom + let fileToUpload = file; + if (!file.name || file.name === 'blob' || file.name === '') { + const extension = file.type.split('/')[1] || 'jpg'; + const newFileName = `camera-${Date.now()}.${extension}`; + fileToUpload = new File([file], newFileName, { type: file.type }); + } + uploadMutation.mutate(fileToUpload); } };