php – 为Jira的api添加附件
发布时间:2020-12-13 16:55:14 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用他们的API将文件附加到Jira案例.我在Drupal 6( PHP v.5.0)中这样做.这是我的代码: $ch = curl_init();$header = array( 'Content-Type: multipart/form-data','X-Atlassian-Token: no-check');$attachmentPath = $this-get_file_uploads();//
我正在尝试使用他们的API将文件附加到Jira案例.我在Drupal 6(
PHP v.5.0)中这样做.这是我的代码:
$ch = curl_init(); $header = array( 'Content-Type: multipart/form-data','X-Atlassian-Token: no-check' ); $attachmentPath = $this->get_file_uploads(); //$attachmentPath comes out to be something like: //http://localhost/mySite/web/system/files/my_folder/DSC_0344_3.JPG $data = array('file'=>"@". $attachmentPath,'filename'=>'test.png'); $url= 'https://mysite.atlassian.net/rest/api/2/issue/20612/attachments/'; curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_VERBOSE,1); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,CURLOPT_HTTPHEADER,$this->get_jira_headers()); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,CURLOPT_POSTFIELDS,$data); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_USERPWD,"myusername:mypassword"); $result = curl_exec($ch); $ch_error = curl_error($ch); 问题是$result表示为false,$ch_error表示无法打开文件.这个错误是否与Drupal有关或与我如何向Jira发送请求有关?顺便说一句,如果我使用绝对路径,但是,像这样: $attachmentPath = 'C:wampwwwmySitewebsitesmySite.netfilesmy_folderDSC_0333.JPG'; 上传工作正常. 解决方法
这应该适合你:
$data = array('file'=>"@". $attachmentPath . ';filename=test.png'); 这是cURL PHP< 5.2.10的一个错误,您可以在PHP错误跟踪器中看到这个:https://bugs.php.net/bug.php?id=48962(在您看到的评论中,它已被修复) 如果您使用PHP 5.5.0,您可以使用: $cfile = new CURLFile($attachmentPath); $cfile->setPostFilename('test.png'); $data = array('file'=>$cfile); 您还可以在JIRA评论中看到这一点:JIRA Comment 另外我想你想改变这个: curl_setopt($ch,$this->get_jira_headers()); 对此: curl_setopt($ch,$header); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |