2017年3月30日木曜日

Laravel5.4で、複数ファイルのアップロード

Laravel5.4で、複数ファイルのアップロードです。下の例で言うと、「$files = $request->file('pic');」という具合に、最初にまとめてアップロードファイルを取得して、それから、いろいろと操作するのがミソらしい。

/resources/views/user/upload.blade.php
{!! Form::open(['url' => ['upload', $user->id], 'files' => true]) !!}
  {!! Form::file('pic[]', ['multiple'=>true]) !!}
  {!! Form::submit('アップロード') !!}
{!! Form::close() !!}
/app/Http/Controllers/UserController.php
use Illuminate\Support\Facades\Storage;

if ($request->hasFile('pic')) 
{
  $files = $request->file('pic');
  foreach ($files as $file) {
    $savePath = $file->store($user->id, 'profile');
  }
}

参考サイト
Filesystem / Cloud Storage(Laravel)
Upload multiple files in laravel 5(Tutsnareさん)
Laravel 5.3 multiple file uploads(Stack Overflow)

0 件のコメント:

コメントを投稿