Laravel-admin修改图片上传时存入数据库的URL

文件位于 vendor\encore\laravel-admin\src\Form\Field\Image.php

<?php

namespace Encore\Admin\Form\Field;

use Symfony\Component\HttpFoundation\File\UploadedFile;

class Image extends File
{
    use ImageField;

    /**
     * {@inheritdoc}
     */
    protected $view = 'admin::form.file';

    /**
     *  Validation rules.
     *
     * @var string
     */
    protected $rules = 'image';

    /**
     * @param array|UploadedFile $image
     *
     * @return string
     */
    public function prepare($image)
    {
        if (request()->has(static::FILE_DELETE_FLAG)) {
            return $this->destroy();
        }

        $this->name = $this->getStoreName($image);

        $this->callInterventionMethods($image->getRealPath());

        $path = $this->uploadAndDeleteOriginal($image);

        $this->uploadAndDeleteOriginalThumbnail($image);
//将这里修改即可
//--start       dyushuo6230 2019-12-18
        return "/upload/" . $path;
//--end       dyushuo6230 2019-12-18
    }
}

————————————————
版权声明:本文为CSDN博主「哈佛凌晨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:blog.csdn.net/dyushuo6230/article/...

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

年轻人, 不要改 vendor

2年前 评论
onley (楼主) 2年前
wenyu13 2年前
wenyu13 2年前
onley (楼主) 2年前

年轻人, 不要改 vendor

2年前 评论
onley (楼主) 2年前
wenyu13 2年前
wenyu13 2年前
onley (楼主) 2年前

自己自定义或者重写 image 组件是更好的做法

2年前 评论
onley (楼主) 2年前

改 vendor,下个接收的要嘛嘛列列呐

2年前 评论

你这样改了,在后台还能正常显示?

2年前 评论
onley (楼主) 2年前

// 修改文件上传路径和文件名 $form->file($column[, $label])->move($dir, $name);

2年前 评论
onley (楼主) 2年前
2年前 评论
onley (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!