来自数据库的php CURFILE二进制数据

时间:2016-10-07 06:48:00

标签: php jira-rest-api php-curl remedy

我将数据存储在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);

0 个答案:

没有答案