I am using wp_upload_bits which is a cURL wrapper for WordPress for saving in my server a remote .png image, which was previously downloaded with Content-Type: binary/octet-stream.
This is how my code looks like:
(wrong code, see the one underneath)
//File contents
$attachment = 'image/png,' . file_get_contents( $url );
// Upload bits attachment
$result = wp_upload_bits(
basename( $url ),
null,
$attachment
);
(right code)
$attachment = new WP_Http();
$attachment = $attachment->request( $url, array(
'headers' => array(
'X-app-action' => 'importing'
),
) );
// Upload bits attachment
$result = wp_upload_bits(
basename( $url ),
null,
$attachment[ 'body' ]
);
EDITED: This is actually the code, I got confused, I am using WP_Http() instead of file_get_contents()
Unfortunately, I have to assume that the image is being saved with the wrong format, since it looks kind of corrupted or broken, the image won't show up at all.
What am I doing wrong?