On Jun 8, 2013, at 4:25 AM, Gerriet M. Denkmann wrote:

>       NSImage *image = [ [ NSImage alloc ] initByReferencingURL: url ];

> First I tried: [ NSArchiver archiveRootObject: image toFile: @"/tmp/anImage" 
> ] but this archives the Url, NOT the data.

That's a documented consequence of using -initByReferencingURL:.  If you use 
-initWithContentsOfURL: that shouldn't happen.

Alternatively, you could force the image to load and then use 
+[NSBitmapImageRep representationOfImageRepsInArray:usingType:properties:] to 
create an NSData from the image's representations and save that to file.

Another approach would be to use NSURLConnection to obtain the image data.  
That should use the URL cache by default.  If it doesn't, you can configure it 
to.  That way, you wouldn't have to manage the cache yourself.  (You should 
make sure the host isn't claiming that the image has to be reloaded every time 
– i.e. can't be cached.  Maybe NSImage would use the URL cache already except 
the host is preventing it.)

Regards,
Ken


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to