Laravel5.4を用いてファイルアップロード機能を追加しようとしています。
以下のプログラムで稼働できると思ったのですが、
2種類のエラーが表示されて稼働しません。
route/web.php
Route::get("/about","PagesController@getIndex"); Auth::routes(); Route::get('/home', 'HomeController@index')->name('home'); Route::get('/', 'UploadController@index'); Route::post('/store', [ 'as' => 'store', 'uses' => 'UploadController@store' ]);
(追記:変更しました)
resource/view/uploads.blade.php
@if (isset($message)) <div class="alert">{{$message}}</div> @endif <form action="/store" method="post" enctype="multipart/form-data"> <input type="file" name="datafile"> <input type="submit" value="アップロード" /> {{ csrf_field() }} </form>
app/Http/Controllers/UploadController.php
namespace App\Http\Controllers; use App\Http\Controllers\Controller; use Request; class UploadController extends Controller { public function index(Request `$`request) { return view('uploads'); } public function store(Request $request) { // バリデーションルール $rules = [ 'file' => 'image|max:3000', ]; //バリデーションされているファイル (jpeg, png, bmp, gif, or svg)に //3000Kb以下 // バリデーターにルールとインプット $validation = Validator::make($request, $rules); // バリデーションチェック if ($validation->fails()) { return redirect('/')->with('message', 'ファイルを確認してください!'); } //バリデーションルール、メッセージをRequestファイルに $imageName = str_shuffle(time().$request->file('file')->getClientOriginalName()). '.' . $request->file('file')->getClientOriginalExtension(); $request->file('file')->move( base_path() . '/public/images/catalog/confirm', $imageName ); return redirect('/')->with('message', 'ファイルをアップロードしました!'); } }
このようにして
http://(IPアドレス)/upload
にアクセスしたところ、
(記述変更)
Class 'App\Http\Controllers\Validator' not found
と表示されます。
宜しくお願いいいたします。
(修正)ご指摘内容に基づいてviewの変更を行いました。
エラーメッセージが変わったのですが、対処方法が分かりません。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/06 14:06
2017/12/06 14:11
2017/12/06 16:05 編集
2017/12/07 02:44
2017/12/07 03:25
2017/12/07 04:47