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();
});
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 8
Mutoulee

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

file

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

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

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

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

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

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