Laravel-admin 5.8 ,上传图片,如何自定义图片文件名(新手请教)

环境为Lravel-admin 5.8,关于上传图片修改文件名问题
使用move函数

$form->display('shop_code', __('门店编码'));
$form->image('shop_image',__('门店照片'))->move('image',$filename);

如何获取code字段内容,并加上上传文件后缀,生成新的文件名呢?
这个$filename如何获取shop_code以及上传文件的后缀名。
我是想生成”门店编码”.jpg或者”门店编码”.png类似结构

我看到论坛之前有类似问题,但好像需求有差异,并且似乎还有bug

$form->image('avatar', __('头像'))->required()->name(function($file) {
    //为用户用户文件名添加前缀
    return request('name') . '_' . $file->getClientOriginalName();
});
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 8
Mutoulee

这么做是可以的。 $file就是上传实例对象,有getClientOriginalName方法和getClientOriginalExtension方法等;

file

1年前 评论
说得来 (楼主) 1年前
Mutoulee

用shop_code字段去命名上传的图片,好像没有直接的办法,试试用表单事件:

$form->saving(function (Form $form) {
    //这里修改avatar字段的值,然后重命名附件
}
1年前 评论
说得来 (楼主) 1年前

可以使用guessClientExtension()可以获取上传文件的后缀

$form->image('avatar', __('头像'))->required()->name(function($file) {
    return request('shop_code ') . '.' . $file->guessClientExtension();
});
1年前 评论
说得来 (楼主) 1年前
huozi1024 (作者) 1年前
说得来 (楼主) 1年前

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