2016-03-28 20 views
1

Watson sonraki kodu vardır:Diyalog IBM - - Kıvrılma PHP laravel

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

oysa benim: ...

$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); 

$ this-> sonrası bugüne

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

Ve sadece cevap olarak aldım: {}

Neler eksik? !

herkese teşekkürler ... İlk kez Kıvrık bir yükleme dosyası göndermeyi deneyin: Hayal daha basit idi

+0

PHP ile deneyin ve işim olsun dönülemez. Terminalde Curl yapmak çok kolay. Ayrıca, "@", buuut, Curl File ile "@" denemeyi denedim ... – carlos

cevap

0

c.

Mağaza:

$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']; 

Kıvrım:

$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 (file $ yol); Ben PUT veya yöntemleri DELETE ihtiyacım olduğunu söyledi

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; 

Aptal msj ... haha ​​