我将数据存储在base64编码的二进制文件数据表中。我正在将此数据从BMC Remedy HelpDesk的7x版本安装迁移到Jira Service Desk。我希望能够通过附件api将二进制文件数据直接发送到Jira。我真的不想首先在我的文件系统上本地创建文件。有没有办法将二进制数据提供给PHP的CURLFile?
以下是我用来通过api发布本地文件的示例代码:
$process=curl_init($url);
$headers = array(
'X-Atlassian-Token: nocheck',
'Content-Type: multipart/form-data',
'Authorization: Basic XXX'
);
$cfile = new CURLFile("/path/to/file.jpg");
$cfile->setPostFilename("uploaded.jpg");
$data = array('file'=>$cfile);
curl_setopt_array(
$process,
array(
CURLOPT_POST=>true,
CURLOPT_VERBOSE=>1,
CURLOPT_POSTFIELDS=>$data,
CURLOPT_SSL_VERIFYHOST=> 0,
CURLOPT_SSL_VERIFYPEER=> 0,
CURLOPT_RETURNTRANSFER=>true,
CURLOPT_HEADER=>false,
CURLOPT_HTTPHEADER=> $headers
)
);
$result=curl_exec($process);
$ch_error = curl_error($process);
if ($ch_error) {
print "cURL Error: " . $ch_error;
} else {
print "\n" . $result . "\n";
}
curl_close($process);