php – Error subiendo archivo de imagen en Laravel


Estoy tratando de subir un archivo de imagen en Laravel pero me da error al subir imágenes realizadas con el móvil

Este es el formulario de la vista donde hay un campo de tipo file para elegir el archivo

<form method="POST" action="{{ route('subir') }}" enctype="multipart/form-data">
{{ csrf_field() }}
<label for="archivo"><b>Archivo: </b></label><br>
<input type="file" name="archivo" required>
<input class="btn btn-success" type="submit" value="Enviar" >
</form>

Estas son las rutas para la vista del formulario y para la subida del archivo

Route::get('/examinar-imagen', 'PruebasController@examinarImagen')->name('examinar');
Route::post('/subir', 'PruebasController@subirImagen')->name('subir');

Este es el controlador con la función para guardar el archivo

class PruebasController extends Controller
{

    public function examinarImagen()
    {
        return view('pruebas.examinar');
    }

    public function subirImagen(Request $request)
    {
        var_dump($request->file('archivo'));
        die();
    
        //Recibimos el archivo y lo guardamos en la carpeta storage/app/public
        $request->file('archivo')->store('public');
        dd("subido y guardado");
    }
}

Me sube bien los archivos pero cuando elijo un archivo de imagen jpg realizado con un móvil, me da error y no me sube el archivo. Con el var_dump() puedo ver que cuando subo un archivo jpg cualquiera que tenga en el ordenador, la propiedad mimeType es del tipo ‘image/jpeg’ y la puedo subir sin problemas. En cambio si elijo un archivo jpg que es una foto realizada con un móvil, la propiedad mimeType es del tipo ‘application/octet-stream’, es como si no reconociera que se trata de una imagen jpg y creo que es por eso por lo que no me sube el archivo y me da error

Ese es el resultado el var_dump() de una imagen que se sube bien

C:wamp64wwwmaster-phpproyecto-laravelappHttpControllersPruebasController.php:18:
object(IlluminateHttpUploadedFile)(294)
  private 'test' (SymfonyComponentHttpFoundationFileUploadedFile) => boolean false
  private 'originalName' (SymfonyComponentHttpFoundationFileUploadedFile) => string 'Chimpance.jpg' (length=13)
  private 'mimeType' (SymfonyComponentHttpFoundationFileUploadedFile) => string 'image/jpeg' (length=10)
  private 'error' (SymfonyComponentHttpFoundationFileUploadedFile) => int 0
  protected 'hashName' => null
  private 'pathName' (SplFileInfo) => string 'C:wamp64tmpphpF318.tmp' (length=25)
  private 'fileName' (SplFileInfo) => string 'phpF318.tmp' (length=11)

Y este el resultado de una imagen de un móvil

C:wamp64wwwmaster-phpproyecto-laravelappHttpControllersPruebasController.php:18:
object(IlluminateHttpUploadedFile)(294)
  private 'test' (SymfonyComponentHttpFoundationFileUploadedFile) => boolean false
  private 'originalName' (SymfonyComponentHttpFoundationFileUploadedFile) => string 'IMG_20200630_124950.jpg' (length=23)
  private 'mimeType' (SymfonyComponentHttpFoundationFileUploadedFile) => string 'application/octet-stream' (length=24)
  private 'error' (SymfonyComponentHttpFoundationFileUploadedFile) => int 1
  protected 'hashName' => null
  private 'pathName' (SplFileInfo) => string '' (length=0)
  private 'fileName' (SplFileInfo) => string '' (length=0)

Si cojo un editor de imágenes y abro la imagen jpg que no puedo subir y la guardo con otro nombre, ya me deja subirla sin problemas

¿Cómo puedo hacer para poder subir imágenes realizadas con un móvil?

Muchas gracias