• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Type of NSData contents
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Type of NSData contents


  • Subject: Re: Type of NSData contents
  • From: Keary Suska <email@hidden>
  • Date: Sat, 12 Jun 2010 08:28:13 -0600

On Jun 12, 2010, at 6:18 AM, Ben wrote:

> Given an NSData object, with no context as to what it might be, is it possible to find if it contains a document of recognised file type?

It is possible, but I suspect that you have to know what you are looking for. I.e., you must check the contents for various pattens that would identify the type, and you must have pre-knowledge of what those patterns are. There is no magic detection in the OS.

> I know this is possible for image files, by using the imageIO framework and doing the following:
>
> CGImageSourceRef imageSource = CGImageSourceCreateWithData(myNSDataObjectGoesHere, NULL);
> NSString *uti = (NSString *)CGImageSourceGetType(imageSource);
> NSString *extension = [[NSWorkspace sharedWorkspace] preferredFilenameExtensionForType:uti];
> CFRelease(imageSource);
> // Standard typed-in-mail-disclaimer here

Chances are, CGImageSourceGetType() is doing what I mention above, which is not too difficult since it only supports a fixed number of formats and clearly knows how to decode each one.

> I suppose I could take the long route of writing the data to disk, then using the NSWorkspace method -typeOfFile:error:, but that seems a bit heavy-handed.

Since there is no magic detection, this will not work. There are various APIs that you can use to check for certain types, including images, PDFs, XML, Plists, an RTF. You are likely on your own when it comes to app-specific formats.

HTH,

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Type of NSData contents (From: Ben <email@hidden>)

  • Prev by Date: Re: NSArrayController/Modal dialog/KVO Gordian knot
  • Next by Date: Re: NSArrayController/Modal dialog/KVO Gordian knot
  • Previous by thread: Type of NSData contents
  • Next by thread: Re: Type of NSData contents
  • Index(es):
    • Date
    • Thread