Da Sie sagen, dass Sie diese Daten hochladen, sollten Sie bereits den MIME-Typ wissen. Sie haben das Datenobjekt erstellt, Sie wissen, woher die Daten stammen, und es gibt eine begrenzte Anzahl von MIME-Typen. Verwenden Sie also, was auch immer für Ihre Daten gilt. Für ein Bild ist es wahrscheinlich image/jpeg
oder image/png
. Für Videos gibt es eine Reihe von video/
Arten. Sie können eine lange Liste von MIME-Zeichenfolgen auf Ihrem Mac in /etc/apache2/mime.types
finden. Je nachdem, welche Art von Video du hast, wirst du eine oder mehrere davon haben wollen.
Das Ermitteln des MIME-Typs ist ein Problem; Ein NSData
kann jede Art von Binärdaten codieren. Die einzige Möglichkeit zu bestimmen, was codiert wurde, besteht darin, die Bytes zu untersuchen. Das bedeutet wiederum, dass Sie wissen, welche Bytestreams in verschiedenen Dateitypen existieren. Es sollte möglich sein, ein Nachschlagewörterbuch in vielen (aber nicht allen) Fällen zu verwenden, und es könnte irgendwo eine Open-Source-Implementierung für gebräuchliche Dateitypen geben. Um eine Vorstellung davon zu bekommen, was es gibt, versuchen Sie man file
auf Ihrem Mac und schauen Sie in /usr/share/file/magic/
, um zu sehen, wie verschiedene Dateitypen identifiziert werden (der file
Befehl erzeugt keine MIME-Typen, aber es analysiert Dateiinhalte, um Dateitypen zu identifizieren und zu identifizieren das gleiche Prinzip).
Sie könnten hav Ein anderes Feld, das den MIME-Typ deklariert und auch mitschickt. – aust
Es gibt keine (genaue) Möglichkeit, den MIME-Datentyp aus den Daten selbst zu bestimmen. Im besten Fall können Sie eine fundierte Vermutung abgeben. –
Wenn Sie weitere MIME-Typen hinzufügen möchten, finden Sie ihre Hex-Werte hier: https://en.wikipedia.org/wiki/List_of_file_signatures –