У меня есть веб-приложение java, размещенное на Tomcat 8. В приложении есть функция для загрузки файла CSV.
Элемент управления использует тег файла Struts, например:
<html:file name="form" property="csvFile"
accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />
При тестировании работает нормально там, где в ОС установлен MS Office, так как он может читать application / vnd.ms-excel или text / csv, когда MS-Office присутствует в настройках реестра MIME браузера или реестра ОС. ,
Однако, если MS-Office не установлен в среде, тип содержимого файла принимается как application / octet-stream вместо application / vnd.ms-excel или text / csv.
Таким образом, в основном, когда операционная система не может определить тип содержимого файла, по умолчанию используется application / octet-stream.
Как лучше всего справляться с таким поведением? Существует вероятность того, что некоторые из конечных пользователей могут вообще не иметь установленного MS Office или они могут работать в разных операционных системах, которые не знают о типах MIME для CSV \ Excel. В таких случаях действительный файл CSV \ Excel будет рассматриваться как application / octet-stream, и, таким образом, элемент управления не позволит загружать такие файлы.
Я прочел: Как тип mime загруженного файла определяется браузером? . Однако я не совсем уверен, как решить эту проблему. Есть ли что-то, что можно сделать на MIME-типах уровня Tomcat?
Заранее спасибо!