2017-07-06 2 views
0

Ich erstelle eine API, um Dateien hochzuladen. Aber es funktioniert, wenn ich sie über die Webroute-Datei hochlade, aber es funktioniert nicht, wenn ich sie über die Datei api routes hochlade.Wie lade ich Dateien über laravel api Routen hoch

axios.defaults.headers.put['Content-Type'] = 'multipart/form-data';

axios.put('/api/pikirler', formData);

Wenn ich es zu ändern:

axios.defaults.headers.post['Content-Type'] = 'multipart/form-data';

axios.post('/upload', formData);

Es funktioniert gut. Aber ich möchte es in api Routen verwenden. Danke im Voraus.

Antwort

2

Sie können das Paket in Ihrem Controller verwenden. Im Folgenden finden Sie den Code zum Hochladen der Datei mit Fruchtsaft.

$options = [ 
     'multipart' => [ 
     [ 
      'name' => 'user_key' 
     ], 
     [ 
      'name' => 'file_names', 
      'contents' => '[]' 
     ], 
     [ 
      'name' => 'file', 
      'contents' => file_get_contents($filePath), 
      'filename' => $fileName, 
      'headers' => [ 
      'Content-Type' => 'application/octet-stream' 
      ] 
     ] 
     ] 
    ]; 

     $httpClient = new GuzzleClient(); 
     $response = $httpClient->request("POST", "someApiUrl", $options); 

Folgendes ist die Dokumentation. http://docs.guzzlephp.org/en/latest/overview.html

+0

Kann ich es nicht einfach mit Axios hochladen, indem ich die Header ändere? –

+0

Ich habe Axios nicht versucht. @AzatAkmyradow. Normalerweise benutze ich einen Frust. –

+0

Danke, ich werde es ausprobieren. Aber es wäre gut, wenn ich herausfinden würde, wie man das mit Axios macht –

Verwandte Themen