質問編集履歴

3 追記(heroku logにてlogの確認)

kazoogon

kazoogon score 252

2018/06/29 17:19  投稿

(laravel5.5) Herokuで画像がDBに登録されない + 指定フォルダに画像が保存されない
今していること
---
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":{}} [] []  
```
  • Heroku

    1204 questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

  • Laravel

    969 questions

    LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

  • Laravel 5

    2540 questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

2 題名の変更

kazoogon

kazoogon score 252

2018/06/27 21:50  投稿

(laravel) Herokuで画像がDBに登録されない + 指定フォルダに画像が保存されない
(laravel5.5) Herokuで画像がDBに登録されない + 指定フォルダに画像が保存されない
今していること
---
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

    1204 questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

  • Laravel

    969 questions

    LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

  • Laravel 5

    2540 questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

1 回答を受けての追記

kazoogon

kazoogon score 252

2018/06/27 16:41  投稿

(laravel) Herokuで画像がDBに登録されない + 指定フォルダに画像が保存されない
今していること
---
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が空なだけで何をどう調査したらよいか困っております、よろしくお願いします。
エラーが出るわけでもない、ただ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

    1204 questions

    HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

  • Laravel

    969 questions

    LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

  • Laravel 5

    2540 questions

    Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る