No, that mvuori said is not true. The class must load the image from the file to get the bytes and then load. You CAN load a image from unsigned char array.
It's really possible.

How are you using loadFromData ?

Can you try using it without using a QByteArray ?

Qt Code:
  1. bool QPixmap::loadFromData ( const uchar * data, uint len, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor )
To copy to clipboard, switch view to plain text mode 

I think it can be some problems while converting characters, I dunno.
But, try to use loadFromData with your downloaded char* directly.