Мой Java-сервлет обрабатывает файл, отправленный через форму на моей странице JSP. Я хочу принимать только файлы изображений. Итак, первое, что делает сервлет, это проверяет, является ли тип содержимого изображения.
Для проверки типа контента я использую:
File f = new File(fieldValue); // Create a FileItem object to access the file.
// Get content type by filename.
String contentType = getServletContext().getMimeType(f.getName());
if(contentType == null) contentType = "none";
if(contentType.startsWith("image")) {
//call methods - resize photo
}
Проблема? Он будет принимать файл изображения, если расширение (.jpg, .png и т. Д.) НЕ пишется с заглавной буквы. Когда расширение файла в формате CAPS (например, myphoto.JPG), вызов getServletContext().getMimeType(f.getName())
возвращает null
.
Мой сервлет меняет все имя файла на строчные буквы, но это все равно не имеет значения, если файл представлен заглавными буквами для его расширения.
Что я могу сделать, чтобы исправить эту проблему?