Bluetooth OBEX or USB PictBridge

I'm starting a project were an Arduino would connect to a URL over wifi, download an image, and then transfer that image to a micro printer. The printer can accept jpgs from either Bluetooth OBEX protocol, or USB through the pictbridge protocol. So the parts I need to figure out would be a wifi shield, a storage option, and then one of the file transfer solutions. Can anyone recommend a few parts that fill those needs, and maybe some libraries that will help with the protocols? Thanks a ton.