Wordpress 带文件负载的wp_远程_post

Wordpress 带文件负载的wp_远程_post,wordpress,Wordpress,我正在尝试通过发布一个文件。不幸的是,传递给此函数的任何文件流或文件路径(前面是否有CURL style@)都将被删除并从有效负载中删除 我在上找到了一篇文章,但是,它非常黑客化,而且容易出错。如果不从头开始编写完整的HTTP负载,是否真的无法通过此函数传输文件 下面是一个使用CURL样式(在路径前面加@)的示例代码块,如果有兴趣: $body["attachment[{$i}]"] = "@{$attachment}"; $data = array( 'body' =

我正在尝试通过发布一个文件。不幸的是,传递给此函数的任何文件流或文件路径(前面是否有CURL style@)都将被删除并从有效负载中删除

我在上找到了一篇文章,但是,它非常黑客化,而且容易出错。如果不从头开始编写完整的HTTP负载,是否真的无法通过此函数传输文件

下面是一个使用CURL样式(在路径前面加@)的示例代码块,如果有兴趣:

    $body["attachment[{$i}]"] = "@{$attachment}";

    $data = array(
    'body' => $body,
    'headers' => array(
        'Authorization' => 'Basic ' . base64_encode( "user:{$apiKey}" )));

$url = "https://api.someservice.net/{$domain}/endpoint";
$response = wp_remote_post( $url, $data );

谢谢

Post数据应作为数组发送到正文中。传递post数据的示例:

$response = wp_remote_post( $url, array(
    'method' => 'POST',
    'timeout' => 45,
    'redirection' => 5,
    'httpversion' => '1.0',
    'blocking' => true,
    'headers' => array(),
    'body' => array( 'username' => 'bob', 'password' => '1234xyz' ),
    'cookies' => array()
    )
);

    if ( is_wp_error( $response ) ) {
   $error_message = $response->get_error_message();
   echo "Something went wrong: $error_message";
} else {
   echo 'Response:<pre>';
   print_r( $response );
   echo '</pre>';
}
$response=wp\u remote\u post($url,数组)(
'方法'=>'发布',
“超时”=>45,
“重定向”=>5,
'httpversion'=>'1.0',
“阻塞”=>正确,
'headers'=>array(),
'body'=>数组('username'=>'bob','password'=>'1234xyz'),
'cookies'=>array()
)
);
如果(是错误($response)){
$error_message=$response->get_error_message();
echo“出错:$error_message”;
}否则{
回应"回应";;
打印(回复);
回声';
}

在上面的示例中,$response['body']将包含服务器返回的实际页面内容

我们需要一些错误报告/更多信息。。。如果说有效负载被丢弃了,那么就添加if(is_wp_error($response)){$error_message=$response->get_error_message();echo“出错了:$error_message”;}否则{echo“response:”;print_r($response);echo“”;}请先阅读问题,然后直接从wordpress半成品文档复制粘贴。他要求上传文件而不是数据