質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Laravel

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

Q&A

解決済

1回答

4718閲覧

PHP/laravel S3に保存した画像を表示させることについての質問

DESTMovies

総合スコア1

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

Laravel

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

0グッド

0クリップ

投稿2020/09/07 09:22

前提・実現したいこと

S3に画像を保存して、表示させたいのですが、実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

InvalidArgumentException Found 1 error while validating the input provided for the GetObject operation: [Key] expected string length to be >= 1, but found string length of 0 (View: /home/ubuntu/environment/board.app/resources/views/boards/boards.blade.php)

該当のソースコード

使用環境: Laravel framework 6.18.24

PHP

1@if (count($boards) > 0) 2 <ul class="list-unstyled" style="background:#D9E5FF;"> 3 @foreach ($boards as $board) 4 5 //エラーの部分 6 <img src="{{ Storage::disk('s3')->url($board->image) }}" style="width:70px; height:70px;"> 7 8 9 10 @endforeach 11 </ul> 12 {{-- ページネーションのリンク --}} 13 {{ $boards->links() }} 14@endif 15

画像を選択する箇所です

php

1 2 <form method="POST" action="{{route('boards.store')}}" enctype="multipart/form-data"> 3 @csrf 4 5 6 7 8 <div class="form-image"> 9 <input type="file" name="image" id="img"> 10 </div> 11 12

コントローラー@storeです

php

1public function store(Request $request) 2 { 3 // バリデーション 4 $request->validate([ 5 'content' => 'required|max:255', 6 ]); 7 8 $file = $request->file('image'); 9 10 $file_path= 'images'; 11 12 // S3に接続 13 $path = Storage::disk('s3')->putFile($file_path, $file, 'public'); 14 15 16 // 認証済みユーザ(閲覧者)の投稿として作成(リクエストされた値をもとに作成) 17 $request->user()->boards()->create([ 18 'content' => $request->content, 19 'image' => $path, 20 21 ]); 22 23 // 前のURLへリダイレクトさせる 24 return back(); 25 } 26 27

試したこと

・エラーメッセージについて検索エンジンで調べましたが、出てきませんでした。

・userの方も画像を実装しまして、そちらの方は正しく表示しているので、そちらと照らし合わせていました。

補足情報(FW/ツールのバージョンなど)

使用環境: Laravel framework 6.18.24

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

投稿2020/09/07 13:22

kyoya0819

総合スコア10429

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DESTMovies

2020/09/07 13:37

お忙しい中ありがとうございます。参考にさせていただきます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問