jquery 图像无法在Laravel AJAX Crud中显示

rlcwz9us  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(103)

我试图在index.blade上显示上传的图像,但它没有显示,尽管<img>标记中的文件路径是正确的,我也在控制台上检查了它也得到了正确的路径。映像存储的控制器:

if($request->hasFile('profilepic')){
            $file = $request->file('profilepic');
            $profilepic=$file->getClientOriginalName();
            $file->storeAs('public/profile', $profilepic);
            $detail['profilepic'] = $profilepic;
        }

        if($request->hasFile('signature')){
            $file1 = $request->file('signature');
            $signature=$file1->getClientOriginalName();
            $file1->storeAs('public/sign', $signature);
            $detail['signature'] = $signature;
        }
        $detail->save();
        return response()->json([
            'status'=> 'success',
            'data' => $detail
        ]);

字符串
img路径索引刀片

<td><img src="../storage/app/public/profile/{{ $detail->profilepic }}" width="100px"></td>
                <td><img src="storage/app/public/sign/{{ $detail->signature }}" width="100px"></td>


AJAX jquery:

$(document).on('submit','.create_form',function(event)
            {
                event.preventDefault();
                const fd = new FormData(this);
                $.ajax({
                    url: "{{ route('details.store') }}",
                    data: fd,
                    type: "POST",
                    dataType: "json",
                    contentType: false,
                    processData: false,
                    success: function(response)
                    {
                        $(".div3").load("{{ route('details.index') }}");
                    },
                    error: function(error)
                    {
                        console.log("Errors :",error);
                    }
                });
            });


的数据
还尝试将.env文件中的APP URL放在<img src>中,但不起作用。

9fkzdhlc

9fkzdhlc1#

我在下面列出了一些你可以尝试验证/解决你的问题的事情。
1.确保图像正确存储在指定的存储目录中。检查public/profilepublic/sign目录,确认图像已保存在其中。
1.在Laravel中,存储在storage/app/public目录中的文件不能直接访问。您需要创建一个符号链接,使它们可以从Web访问。在终端中运行以下命令以创建符号链接:

php artisan storage:link

字符串
此命令将创建从public/storagestorage/app/public的符号链接。确保符号链接已成功创建。
1.更新index.blade文件中的图像源路径以使用正确的URL。不使用相对路径,而是使用asset() helper函数根据符号链接生成正确的URL:

<td><img src="{{ asset('storage/profile/' . $detail->profilepic) }}" width="100px"></td>
<td><img src="{{ asset('storage/sign/' . $detail->signature) }}" width="100px"></td>

  • 让我们了解上述故障排除的结果!*

相关问题