您好我想在codeigniter中使用curl将文件上传到服务器 我在视图中设置窗体并传递给控制器并使用控制器中的curl上传它 但它显示错误
缺少POST参数issue_identifier 我不知道造成这个问题的原因是什么
这是我的控制器
$issue_name = $this->input->post('issue_name');
$issue_tagline = $this->input->post('issue_tagline');
$issue_description = $this->input->post('issue_description');
$issue_publish_on = $this->input->post('issue_publish_on');
$issue_file = $this->input->post('issue_file');
$issue_id = $this->input->post('issue_id');
$data2=array(
'imgdetail'=>$imgdetail ,
'username' =>$session_data['username'],
'appname'=> $this->appname,
'mode'=> $this->mode,
'appidentifier'=> $this->appidentifier,
'name' => $name,
'productid' => $productid,
'status'=>$status,
'description'=>$description,
'issue_name' => $issue_name,
'issue_tagline' => $issue_tagline,
'issue_description' => $issue_description,
'issue_file' => $issue_file,
);
$this->load->helper('form');
$this->load->view('issue_detail',$data2);
echo '<pre>' .var_dump($issue_name).'</pre>';
echo '<pre>' .var_dump($productid).'</pre>';
echo '<pre>' .var_dump($issue_id).'</pre>';
$target_url = 'https://platform.twixlmedia.com/admin-api/1/upload';
$file_name_with_full_path = realpath($issue_file);
$post3 = array(
'admin_api_key' => 'da06751194bc18cc60xxxxxxxxxxxx',
'app_key' => 'bd7cf04226c58723cac4xxxxxxxxx',
'issue_identifier' => $issue_id,
'issue_file' =>'@' . realpath($issue_file),
'issue_name' => $issue_name
);
$ch3 = curl_init();
curl_setopt($ch3, CURLOPT_URL, 'https://platform.twixlmedia.com/admin-api/1/upload');
curl_setopt($ch3, CURLOPT_POST, 1);
curl_setopt($ch3, CURLOPT_POSTFIELDS, http_build_query($post3));
curl_setopt($ch3, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch3, CURLOPT_SSL_VERIFYPEER, false);
$result3 = curl_exec($ch3);
curl_close ($ch3);
echo $result3;
这是我的观点:
<form class="editissueform" action="home/detail_issue" method="post" enctype="multipart/form-data">
<label for="name">Name:</label>
<input type="text" name="issue_name"><br>
<label for="tagline">Tagline:</label>
<input type="text" name="issue_tagline"><br>
<label type"description">Description:</label>
<input type="text" name="issue_description"><br>
<label type"publishdate">Publish Date:</label>
<input type="text" name="issue_publish_on"><br>
</div>
<h4>Upload Publication</h4>
<div class="issuedit">
<input type="file" name="issue_file" size="40" />
<h7>Please Upload using pdf file format</h7>
</div>
<br>
<br>
<input type="submit" name="submit" value="Save">
</form>
感谢您的帮助
答案 0 :(得分:1)
看起来你的另一端正在向你发回错误,错误似乎意味着你没有用你的POST请求发布“issue_id”。
$issue_id = $this->input->post('issue_id');
这是你获取“issue_id”的方式,但是当我查看你的表单时,我没有在那里看到那个字段,这意味着它将为null或为空。
为您的curl请求提供另一端理解的有效“issue_id”,我认为您已完成。