From b3675a190086007b55eeec4d19a26c1a7a84e88e Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Tue, 14 Oct 2025 10:08:08 +0000 Subject: [PATCH] Fix issue with uploading camera photos on Android devices Correct the file naming convention for camera captures on Android to prevent upload failures by generating a valid filename if the original is missing or invalid. Replit-Commit-Author: Agent Replit-Commit-Session-Id: ae4037a0-2a6f-4530-9bac-79b543286bda Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/397bca8c-984f-43ff-841a-10897aeb8140/ae4037a0-2a6f-4530-9bac-79b543286bda/fGL9Pd7 --- client/src/components/media-upload.tsx | 9 ++++++++- client/src/pages/new-post.tsx | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) 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); } };