Как узнать тип файла MIME перед загрузкой? - PullRequest
0 голосов
/ 24 декабря 2011

Есть ли способ определить тип файла MIME перед загрузкой (когда известен только URL)?Например, если я хотел бы показать свой пункт контекстного меню только для некоторых конкретных типов.Или экран загрузки должен быть изменен в зависимости от типа загрузки.

1 Ответ

1 голос
/ 25 декабря 2011

Вы можете получить MIME-тип из расширения файла, используя nsIMIMEService.getTypeFromURI(), он получит MIME-тип из расширения файла.Вдоль этих строк:

var uri = Components.classes["@mozilla.org/network/io-service;1"]
                    .getService(Components.interfaces.nsIIOService)
                    .newURI("http://example.com/test.gif", null, null);
var mimeService = Components.classes["@mozilla.org/mime;1"]
                            .getService(Components.interfaces.nsIMIMEService);
var mime = mimeService.getTypeFromURI(uri);

Конечно, это не является чем-то близким к надежному - тип URL MIME может быть любым, text.gif может быть страницей HTML, изображением SVG или чем-то еще.Таким образом, единственный реальный способ получить тип MIME - начать загрузку.

...