我将数据存储在一个表中,该表是 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);