CSV файл загружается, когда MS Office не установлен - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть веб-приложение 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?

Заранее спасибо!

...