我用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
所以,"类别"文件夹,我上传的图像存储在这个位置,但我不能显示我上传的图像。我如何解决这个问题,使"公共"文件夹的"存储"文件夹包含这个"类别"文件夹?对不起,我的英语
1条答案
按热度按时间jvidinwx1#
我猜问题出在文件系统磁盘转到.env并将FILESYSTEM_DISK=local更改为FILESYSTEM_DISK=public不要忘记添加磁盘名称,如Storage::disk('public')-〉put('categories',$request-〉file('image');
我希望这个答案对你有所帮助。