图像未显示在生产中的Laravel应用程序中

6vl6ewon  于 2022-12-24  发布在  其他
关注(0)|答案(1)|浏览(116)

我用Laravel Forge部署了一个Laravel应用程序,除了上传图片显示在应用程序中之外,工作正常。我使用此代码在表中创建一条新记录。此新记录有一个"image"字段,其中存储了图片的URL。并且该图片应存储在"categories"文件夹中。

$categoryword = Category::create([
                'name' => $request->name,
                'slug' => $request->slug,
                'image' => Storage::put('categories', $request->file('image')),
                'description' => $request->description,
                'body' => $request->body,
                'example' => $request->example,
                'exception' => $request->exception,
                'type' => "Ortographic Rules",
                'clasification' => "Words",
                'user_id' => auth()->user()->id
            ]);

此外,这是在刀片视图中显示图像的代码:

<img id="image" name="image" src="{{ asset("storage/$categoryword->image")}}" alt="" height="400px" width="700px"/>

在本地,它工作正常,可以查看图像。但当我尝试上传一个新的记录与图像在生产服务器与Laravel锻造我有这个错误:
加载资源失败:服务器以状态404()响应
在我使用的生产服务器中:

php artisan storage:link

但是当我进入公共文件夹,进入"存储"文件夹时,那个文件夹是空的。
但是,如果我转到"存储"文件夹,它位于生产服务器内的"公共"文件夹的同一级别中,我进入该文件夹,我有这三个文件:

app                  framework           logs

在"应用程序"文件夹内,我有这两个文件:

public                 categories

所以,"类别"文件夹,我上传的图像存储在这个位置,但我不能显示我上传的图像。我如何解决这个问题,使"公共"文件夹的"存储"文件夹包含这个"类别"文件夹?对不起,我的英语

jvidinwx

jvidinwx1#

我猜问题出在文件系统磁盘转到.env并将FILESYSTEM_DISK=local更改为FILESYSTEM_DISK=public不要忘记添加磁盘名称,如Storage::disk('public')-〉put('categories',$request-〉file('image');
我希望这个答案对你有所帮助。

相关问题