実現したいこと
WEB系アプリ初学者です。この5月より既存のWEBシステムの改修を担当することになり、現在コード解析しながら簡単な仕様変更を行っています。
【環境】Laravel 6/php7.4/Linux(CentOS)×Docker
表示させたいデザイン:
NGなデザイン:
既存のシステムでは上側のデザインが出てきますが、私が追記でコーディングした場所では、一見正しい処理が行われたかのような背景にファイル未存在のエラーが出てしまっています。
発生している問題・分からないこと
こういうものはフラッシュメッセージというのでしょうか?
現状の原因がCSSなのかそもそもLaravel標準でこのような表記ができる機能があるのか、そのあたりからわかっていません。例えばCSSだとすればその該当のCSSの探し方もわかっていません。
該当のソースコード
//正しく動くコード @if (isset($data['prj_rg_file']->uploaded_file_name)) @if ($data['prj_rg_file']['is_image']) <img id="img_rg" class="preview" src="{{ asset('storage/attached/'. config('const.file_type.prj_rg') .'/'. $data['prj_rg_file']->uploaded_file_name) }}" alt="{{ $data['prj_rg_file']->original_file_name }} "data-toggle="modal" data-target="#modalImage1"> @endif <div> <a href="javascript:void(0)" class="download_file" data-attached_file_id="{{ $data['prj_rg_file']->attached_file_id }}">{{ $data['prj_rg_file']->original_file_name }}</a> </div> @endif
//今回追記したコード @if (isset($row['prj_ext_file']->uploaded_file_name)) <tr> <td class="w-5r py-0 pl-1">申請書</td> <td class="p-0"> @if ($row['prj_ext_file']['is_image']) <img id="img_ext" class="preview" src="{{ asset('storage/attached/'. config('const.file_type.prj_ext_doc') .'/'. $row['prj_ext_file']->uploaded_file_name) }}" alt="{{ $row['prj_ext_file']->original_file_name }} "data-toggle="modal" data-target="#modalImage1"> @endif <div> <a href="javascript:void(0)" class="download_file" data-attached_file_id="{{ $row['prj_ext_file']->attached_file_id }}">{{ $row['prj_ext_file']->original_file_name }}</a> </div> </td> </tr> @endif
//--- 共通部品 ------------------------------------- // ファイルダウンロード $(document).on('click', '.download_file', function() { let fileId = $(this).data('attached_file_id'); let url = '{{ url('download') }}' + '/' + fileId; fileDownload(url); }); // ファイルモーダル $(document).on('show.bs.modal', '#modalImage1', function(e) { let trigger = $(e.relatedTarget); let recipient = $('#' + trigger.prop('id')); $('#imgModal1').prop('src', recipient.prop('src')); }); function fileDownload(url) { toggleLoading('#loading'); $.removeCookie('file_downloaded', { path: '/' }); // DL完了cookieクリア window.location.href = url; let interval = setInterval(function() { // if ($.cookie('file_downloaded')) { $.removeCookie('file_downloaded', { path: '/' }); toggleLoading('#loading'); clearInterval(interval); } }, 1000); } // ----------------------------------------
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
いろいろ見直してみましたが、自分の知識の範疇では解決は難しいと判断し投稿しました。
上記に当たって、自分の足りない知識がどのあたりなのかもご助言いただけるとありがたいです。
よろしくお願いいたします。
補足
【環境】Laravel 6/php7.4/Linux(CentOS)×Docker

回答1件
あなたの回答
tips
プレビュー