Frage

Was ist der beste Weg, um einen Dateityp in Android zu bestimmen?

Ich möchte überprüfen, ob die angegebene Datei ein Bild ist, eine Musikdatei, etc.

War es hilfreich?

Lösung

  1. Fügen Sie einige mime.types Dateien in Ihrem Vermögen Ordner (zum Beispiel von /etc/mime.types).
  2. Neuer activation.jar (von JAF) in Ihrem Build-Pfad.
  3. Verwenden Sie so etwas wie folgt aus:

    try {
        MimetypesFileTypeMap mftm = 
            new MimetypesFileTypeMap(getAssets().open("mime.types"));
        FileTypeMap.setDefaultFileTypeMap(mftm);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    
  4. Dann FileDataSource.getContentType() verwenden, um Dateitypen zu erhalten.

Andere Tipps

public static String getMimeType(String fileUrl) {
    String extension = MimeTypeMap.getFileExtensionFromUrl(fileUrl);
    final String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
    return (mimeType !=  null) ? mimeType : "unknown";
}

Ein gemeinsamer Weg durch ihre Erweiterung ist nur, oder Sie können den Header analysieren, aber es sollte für Ihre Anwendungen zu viel langsamer und komplexer sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top