【问题标题】:Laravel Nova Image Storage Name IssueLaravel Nova 图像存储名称问题
【发布时间】:2020-07-08 20:11:19
【问题描述】:

因此,我正在尝试将通过博客文章上传的图像存储到具有原始文件名的特定文件夹中。

图像已保存到正确的文件路径,但将其保存为随机字符串名称。我的代码如下:

public function fields(Request $request)
{
    return [
        ID::make('id')->sortable(),
        Text::make('URL ID', 'id')->hideFromIndex(),
        Text::make('Title', 'title'),
        select::make('Market Type', 'market_id')->options([
            'church' => 'Church',
            'school' => 'School',
            'business' => 'Business',
            'municipal' => 'Municipal'
        ]),
        Trix::make('Body', 'text'),
        Image::make('Image', 'main_image')
            ->disk('blog')
            ->storeOriginalName('main_image')
            ->maxWidth(200)
            ->prunable(),
    ];
}

【问题讨论】:

    标签: php laravel laravel-nova


    【解决方案1】:

    ->storeOriginalName() 不是保存文件的名称,而是浏览器在详细页面的图像字段中单击“下载”时获取的文件名称

    更改文件名最简单的方法是使用 ->store() 方法,如下所示:

    Image::make('Image', 'main_image')
        ->store(function (Request $request, $model) {
            $filename = $request->main_image->getClientOriginalName();
            $request->main_image->storeAs('/', $filename, 'blog');            
            return [
                'main_image' => '/' . $filename,
                'main_image_name' => $request->main_image->getClientOriginalName()
    
            ];
        })
        ->maxWidth(200)
        ->storeOriginalName('main_image_name')
        ->prunable(),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      相关资源
      最近更新 更多