2017-01-15 2 views
0

Я пытаюсь отправить файл с помощью DRAG & DROP с XMLHttpRequest.Сохраните файлы, используя Storage :: put и XMLHttpRequest в Laravel 5.3

$images = $_FILES['images']; 

, когда я использую Еогеасп:

foreach($images["name"] as $file => $name) 

и

move_uploaded_file($images["tmp_name"][$file], $images_dir . $name 

это работает отлично, но я хотел бы использовать

Storage::put 

, но это не работает

У меня нет:

use Illuminate\Support\Facades\Storage; 

и в filesystems.php

'local' => [ 
      'driver' => 'local', 
      'root' => storage_path('app'), 
     ], 

     'public' => [ 
      'driver' => 'local', 
      'root' => storage_path('app/public'), 
      'visibility' => 'public', 
     ], 

Когда я указываю курсор мыши на «поместить» в моем PhpStorm IDE "Method 'put' not found in Illuminate\Support\Facades\Storage"

Класс хранения простирается Фасад но Фасад нет метод «put». Что не так с Storage?

ответ

0

Вместо того чтобы сказать использование Illuminate\Support\Facades\Storage просто сказать use Storage

Затем игнорировать ошибки IDE и перейти к ли его работы. Laravel использует магические методы и многие другие архитектурные узоры. Не все IDE могут правильно оценить его код, поэтому просто игнорируйте ошибки IDE.

Избегайте использования $ _FILES. Используйте следующее:

$files = $request->input('images'); 
foreach($files as $key => $value) { 
    if ($request->hasFile('images.' . $key)) { 
     $file = $request->file('images.' . $key); 
     $filename = $file->getClientOriginalName(); 
     Storage::put($filename, file_get_contents($file)); 
    } 
} 
+0

Спасибо за совет, но я не могу решить проблему Хранение :: положить. Я думаю, что проблема может быть в том, что есть в $ _FILE, используя в качестве имени файла из XMLHttpRequest, потому что, когда я использую данные из Reguest, полученные из формы -> тип ввода, файл «отлично работает». – Tomasz

+0

Я обновил свой ответ – Paras

 Смежные вопросы

  • Нет связанных вопросов^_^