В java (jdk 1.6) есть способ проверить, является ли файл действительным xlsx, не открывая весь файл с помощью POI или другого API.В настоящее время мы используем Apache POI в проекте для открытия файла - в основном мы создаем новую XSSFWorkbook (inputStream) и, если это вызывает исключение, это не допустимый xlsx.Однако мы обнаружили, что один файл xlsx, размером 8 МБ, по какой-то причине требует 1 ГБ памяти и фактически вызвал перебои в работе наших серверов.Мы не можем полагаться на расширение файла, так как кто-то может взять файл, который не является xlsx, как файл php, и переименовать его с расширением xlsx.Я ищу вариант, который имеет минимальное влияние на память - в идеале - вообще не открывать файл.
Слишком большой риск, если одна загрузка файла может убить сервер, но нам также нужно проверитьфайл на самом деле является xlsx.