Y de estos campos que llegan vacios todos son requeridos?
Si es así validalos con javascript antes de enviar el formulario...
Si no, que componente estás utlizado para el upload? a lo mejor tienes que leer con mas detalle la documentación de dicho componente...y lo que pasa cuando envías un formulario de tipo enctype, tengo entendido que estás enviando contenido binario, con lo cual la conversión a string se dificulta, por eso es que no lo puedes capturar con un request normal...
Lo que te podría recomendar y a lo mejor no te estoy siendo de mucha utilidad

es que probaras con otro sistema de upload como el xelupload, yo he trabajado con campo vacios sin problema...
Salu2,