Image with Content-Type: binary/octet-stream being saved with wrong format
<p>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. </p>

<p>This is how my code looks like:</p>

<p><strong>(wrong code, see the one underneath)</strong></p>

<pre><code>    //File contents
    $attachment = 'image/png,' . file_get_contents( $url );

    // Upload bits attachment
    $result = wp_upload_bits( 
        basename( $url ), 
        null,
        $attachment
    );
</code></pre>

<p><strong>(right code)</strong></p>

<pre><code>    $attachment = new WP_Http();
    $attachment = $attachment-&gt;request( $url, array(
        'headers' =&gt; array( 
            'X-app-action' =&gt; 'importing'
        ),
    ) );

    // Upload bits attachment
    $result = wp_upload_bits( 
        basename( $url ), 
        null,
        $attachment[ 'body' ]
    );
</code></pre>

<p><strong>EDITED:</strong> This is actually the code, I got confused, I am using WP_Http() instead of file_get_contents()</p>

<p>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.</p>

<p>What am I doing wrong?</p>