Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用RESTAPI和PHP向页面添加附件?_Php_Confluence Rest Api - Fatal编程技术网

如何使用RESTAPI和PHP向页面添加附件?

如何使用RESTAPI和PHP向页面添加附件?,php,confluence-rest-api,Php,Confluence Rest Api,我正在尝试使用RESTAPI和PHP向页面添加附件,但无法使其正常工作。我让它与邮递员一起工作,没问题,但它吐出的PHP代码似乎不起作用,甚至没有发出错误消息 这是我一直在使用的代码: <?php $curl = curl_init(); $restApiUrl = 'http://localhost:8090/rest/api/content/{pageId}/child/attachment/'; $filePath = 'C:/Users/{user}/Desktop/exam

我正在尝试使用RESTAPI和PHP向页面添加附件,但无法使其正常工作。我让它与邮递员一起工作,没问题,但它吐出的PHP代码似乎不起作用,甚至没有发出错误消息

这是我一直在使用的代码:

<?php


$curl = curl_init();

$restApiUrl = 'http://localhost:8090/rest/api/content/{pageId}/child/attachment/';
$filePath = 'C:/Users/{user}/Desktop/example.png';
$auth = '{auth}';

curl_setopt_array($curl, array(
    CURLOPT_URL => $restApiUrl,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POSTFIELDS => array('file' => new CURLFILE($filePath)),
    CURLOPT_HTTPHEADER => array(
        'Content-Type: image/png;charset=UTF-8',
        'X-Atlassian-Token: no-check',
        'Authorization: Basic ' . $auth
    ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

将内容类型设置为:

"Content-Type: multipart/form-data"

var\u dump(curl\u error($curl))
直接在
curl\u exec()
之后应该会显示出更多关于出错原因的信息。
image/png;charset=UTF-8
毫无意义。也不清楚是直接发布还是通过多部分表单发布图像。另外,如果连接成功,但API返回错误,将
CURLOPT\u FAILONERROR=>true
添加到您的选项数组中以捕获该选项。@SynnKo导出并发布邮递员发出的curl请求会很有帮助。@Olivier我很抱歉,但仅仅说“这没有意义”并不能真正帮助我,我已经觉得自己像个傻瓜了。。。如果我不应该在文件中使用“post字段”,那么我应该使用什么呢?上面的代码是由Postman生成的,所以我认为它的结构是正确的。像这样简单的答案总是提醒我,我永远不会擅长编程。我尝试了这么多该死的东西来让代码工作,但不是这个。。。它最终起作用了。。。谢谢你帮我减轻了我的负担。不客气,几周前你也遇到了同样的问题,我们对HTTP请求的了解太多了,这让我感到惊讶