Java создать пользовательское расширение файла, которое мое приложение может распознать - PullRequest
1 голос
/ 04 ноября 2010

Я хочу определить пользовательский формат файла, который может распознавать мое приложение. Файл будет фактически архивом, но я хочу, чтобы расширение файла было другим, а также с другим mimetype. Содержимое архива будет иметь определенную структуру, поэтому я могу легко найти записи.

Кроме того, когда пользователь загружает данные, я хочу, чтобы браузер фильтровал каталог и отображал только файлы с этим расширением.

Каков наилучший подход к решению этой проблемы.

Ответы [ 2 ]

1 голос
/ 04 ноября 2010

Это зависит главным образом от того, что вы подразумеваете под «узнавать».

Например, в общем смысле, вам вообще не нужно много работать. Если вы определяете что-то под названием *.qip, которое имеет ту же общую структуру, что и ZIP-файл, то все, что вам нужно сделать, - это заставить ваше приложение читать этот файл, как если бы это был стандартный zip-файл. Имя файла (и, в меньшей степени, MIME-тип) не имеет никакого отношения к тому, как ваше приложение обрабатывает файл - оно будет действовать именно так, как вы его запрограммировали.

Теперь, если вы закодировали свое приложение для использования сторонней библиотеки для выполнения этой обработки файлов, вам нужно взглянуть на документы библиотеки, так как это будет зависеть от того, как этого достичь (если оно вообще поддерживается). ).

Что касается поля формы загрузки файла, то оно сложнее. Теоретически вы можете указать фильтр типа MIME, используя атрибут accept, но я думаю, что это игнорируется практически всеми основными браузерами. В свете этого, я не думаю, что есть что-то надежное , что вы можете сделать на стороне клиента, чтобы проверить это - но, по крайней мере, никто другой не может сделать это тоже. И вы проверяете действительность файлов на стороне сервера, верно? : -)

1 голос
/ 04 ноября 2010

Существует атрибут accept для тега form, который может указывать типы файлов, принимаемые mime.

См. Статью thins w3schools: http://www.w3schools.com/TAGS/att_form_accept.asp

Пример:

<form action="form_action.asp" accept="image/gif, image/jpeg">
  First name: <input type="text" name="fname" /><br />
  Last name: <input type="text" name="lname" /><br />
  Your image: <input type="file" name="pic" id="pic" /><br />
  <input type="submit" value="Submit" />
</form>

(Похоже, не поддерживается ни одним из основных браузеров!)

...