Si encontró el mensaje de error 422 unprocessable entityen Laravel, aquí está la solución.

El código 422 muestra que la validación está fallando. Puede verificar su solicitud en las herramientas de desarrollo del navegador para ver qué se envía en la carga útil de la solicitud y dd($request->all())qué recibe el servidor.

Lo más probable es que esto se deba a que en realidad no está cargando un archivo a través de AJAX, que no es compatible multipart/form-datade forma predeterminada. Eche un vistazo a esta referencia para la API de FormData que es compatible con los navegadores modernos: https://developer.mozilla.org/en-US/docs/Web/API/FormData .

Si está enviando el archivo a través de ajax, envuélvalo en FormData:

var form = new FormData();
var image = $('#image')[0].files[0];
form.append('image', image);

Y enviar a través de ajax:

new form = new FormData();
var image = $('#image')[0].files[0];
form.append('image', image);
$.ajax({
    url: 'upload',
    data: form,
    cache: false,
    contentType: false,
    processData: false,
    type: 'POST',
    success:function(response) {
        alert(response);
    }
});