今していること
laravel5.5でアプリを作成、Herokuにdeploy
問題点
「画像保存時DBに登録されない(名前のみ)」 + 「指定フォルダに画像データが保存されない」
ローカルでは二つともうまくいっています
<コード>
//bladeページ {!! Form::open( array( 'url' => 'admin/upload', 'class' => 'form', 'novalidate' => 'novalidate', 'files' => true)) !!} {{ Form::hidden('teacher_id', Auth::user()->id) }} {!! Form::label('Image') !!} {!! Form::file('photo', null) !!} <span class="glyphicon glyphicon-triangle-bottom"></span> {{--{!! Html::decode(Form::submit('Upload Image!',array('class'=>'btn btn-primary btn-block','<span class="glyphicon glyphicon-cloud-upload"></span>'))) !!}--}} {{ Form::button( '<span class="glyphicon glyphicon-cloud-upload"></span> Upload', array( 'class'=>'btn btn-primary btn-block', 'type'=>'submit')) }} {!! Form::close() !!}
public function index(Request $request) {Log::debug(json_encode($request));//このようにlogをしこんだが中身はherokuの場合空 if(Input::hasFile('photo')) { $file = Input::all(); $fileName = uniqid(); $image = Image::make($file['photo']->getRealPath()); $image->save(public_path() . '/images/teachers/'. $fileName); return TeacherImage::create([//ここではわかりやすいように画像データをreturnしていますが、空です 'name' => $fileName, 'profile' => 1, 'teacher_id' => Auth::user()->id, ]); } }
エラーが出るわけでもない、ただrequestが空なだけで何をどう調査したらよいか困っております、よろしくお願いします。
回答を受けての追記
こちらがbladeファイルのソースです
<form method="POST" action="https://(herokuの名前).herokuapp.com/admin/upload" accept-charset="UTF-8" class="form" novalidate="novalidate" enctype="multipart/form-data"><input name="_token" type="hidden" value="V09ZnlJyVvXWBroo2ia93qjuQi8LD9qMS3RWU4Vi"> <input name="teacher_id" type="hidden" value="2"> <label for="Image">Image</label> <input name="photo" type="file"> <span class="glyphicon glyphicon-triangle-bottom"></span> <button class="btn btn-primary btn-block" type="submit"><span class="glyphicon glyphicon-cloud-upload"></span> Upload</button> </form>
追記②
heroku logsにて画像をuploadしたときのlogを確認
//heroku logsにて確認 2018-06-29T08:14:58.752475+00:00 heroku[router]: at=info method=POST path="/admin/upload" host=(herokuアプリの名前).herokuapp.com request_id=53ea4706-971a-4b20-b9fa-274cb54c67cd fwd="31.182.239.251" dyno=web.1 connect=0ms service=6675ms status=200 bytes=927 protocol=https //下記はlaravel側に仕込んだLog::debug($request)の内容 2018-06-29T08:14:58.749461+00:00 app[web.1]: [29-Jun-2018 08:14:58 UTC] [2018-06-29 08:14:58] production.DEBUG: {"attributes":{},"request":{},"query":{},"server":{},"files":{},"cookies":{},"headers":{}} [] []
あなたの回答
tips
プレビュー