[wp-hackers] POSTing a file via wp_remote_post
Ryan McCue
lists at rotorised.com
Fri Jan 11 11:59:31 UTC 2013
David Anderson wrote:
> Unfortunately the parameters for wp_remote_post are not well documented.
> Reading the source code, it looks like the argument 'stream' could be
> something to do with what I want. That appears to stream a file. But
> then what about the other parameters that needing posting too? How can I
> achieve what Curl is achieving, but using wp_remote_post? (Reading the
> whole file into memory is not an option - it could potentially be more
> than available memory).
The various parts there need to be converted into their HTTP
representations. The OAuth parts should be parsed by an OAuth library
into an Authorization header.
`filename` is probably passed as a Content-Disposition header, but I'm
not sure. `overwrite` should be passed in the URL as you're posting.
Your best bet is to work from the Dropbox API documentation:
https://www.dropbox.com/developers/reference/api#files-POST
Something like this would probably work:
$auth_header = ''; // use OAuth library here to generate this
$response =
wp_remote_post('https://api-content.dropbox.com/1/files/.../...?overwrite=1',
array(
'stream' => '/path/to/myfile.zip',
'headers' => array(
'Authorization' => $auth_header,
'Content-Disposition' => 'attachment; filename=myfolder/myfile.zip'
),
);
--
Ryan McCue
<http://ryanmccue.info/>
More information about the wp-hackers
mailing list