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

How to add attachments to a page using the REST API and PHP?

我正在尝试使用 REST API 和 PHP 向页面添加附件,但无法正常工作。我让它与 Postman 一起工作,没问题,但它吐出的 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;

大括号内的值(如 {auth})只是占位符。

这似乎没有发生任何事情,没有错误消息,没有附件,什么都没有...我以前在 Postman 中创建的所有请求(比如创建新页面)通常在 PHP 中立即工作,但是不是文件上传。有谁知道我在这里做错了什么?

将内容类型设置为:

"Content-Type: multipart/form-data"