2016-03-28 48 views
1

沃森接下來代碼:對話框IBM - 捲曲 - PHP Laravel

curl -u "{username}":"{password}" 
    -X POST 
    --form [email protected] 
    --form name=templateName 
    "https://gateway.watsonplatform.net/dialog/api/v1/dialogs" 

而且我有:

$ch = curl_init(); 
    $data['name'] = $this->post['name'].";type:form"; 
    $data['file'] = $this->getCurlValue($this->post['file'], $this->post['nombre']); 

    curl_setopt($ch, CURLOPT_URL, $this->url.$this->metodo); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); 
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, true); 
    curl_setopt($ch, CURLOPT_USERPWD, "{$this->user}:{$this->pass}"); 

    if(count($this->post) > 0){ 
     //curl_setopt($ch, CURLOPT_PUT, 1); 
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
    } 
    $output = curl_exec($ch); 
    curl_close($ch); 
    json_decode($output); 

$這個 - >後有...

$data = Request::only('name', 'file'); 

我只能回答:{}

我失蹤了什麼? !

謝謝大家......第一次嘗試發送一個文件上傳與捲曲:C

+0

我嘗試用PHP和我不能老是找份工作。在終端進行卷曲非常簡單。此外,我嘗試使用「@」,buuut,帶「@」的捲曲文件棄用... – carlos

回答

0

這比我想象的簡單。

商店:

$data = Request::only('name', 'file'); 

$nombre = time().".".Request::file('file')->getClientOriginalExtension(); 
Request::file('file')->move(base_path() . '/public/dialogos/', $nombre); 

$data['path'] = base_path() . '/public/dialogos/'.$nombre; 
$data['file'] = $_FILES['file']; 

捲曲:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $this->url.$this->metodo); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($ch, CURLOPT_USERPWD, "{$this->user}:{$this->pass}"); 

if(count($this->post) > 0){ 
    $datos['name'] = $this->post['name']; 
    $datos['file'] = $this->getCurlValue($this->post['file'], $this->post['path']); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $datos); 
} 
$output = curl_exec($ch); 
curl_close($ch); 
return json_decode($output); 

getCurlValue($文件,$路徑);

if (function_exists('curl_file_create')) { 
    return curl_file_create($path, $file['type'], $file['name']); 
} 
$value = "@{$path};filename=" . $file['name']; 
$value .= ';type=' . $file['type']; 

return $value; 

愚蠢的味精是說我需要PUT或DELETE方法...哈哈