当前位置:网站首页>laravel admin里百度编辑器自定义路径和文件名
laravel admin里百度编辑器自定义路径和文件名
2022-07-04 03:47:00 【king2wang】
最近遇见一个问题,从word里复制图片粘贴到后台富文本框里,保存后图片老是被覆盖,后来发现是由于百度编辑器默认保存的时候是使用源文件的文件名md5()后当文件名,而从word里复制的图片,文件名默认都是一样的,所以导致了图片覆盖的情况,所以决定自定义路径和文件名。。。。
1.自定义路径
这个很简单,找到config/ueditor.php,找到imagePathFormat进行修改即可,还有其他情况下上传路径,需要的话都可以对应修改,包括(scrawlPathFormat、snapscreenPathFormat、catcherPathFormat、filePathFormat等)

2.自定义文件名,这个就稍微麻烦一点了,因为没有直接的配置,只能修改源代码,
源码位置:vendor/codingyu/laravel-ueditor/src/StorageManager.php
找到getFilename()方法
原来的代码是:获取源文件的名字后进行根据ueditor.hash_filename配置进行md5()加密或不加密,但不管是否加密只要源文件名字是一样的,那么就会出现文件被覆盖的情况。
protected function getFilename(UploadedFile $file, array $config)
{
$ext = '.' . $file->getClientOriginalExtension();
$filename = config('ueditor.hash_filename') ? md5($file->getFilename()) . $ext : $file->getClientOriginalName();
return $this->formatPath($config['path_format'], $filename);
}修改后的代码:鉴于这种情况,我们就可以使用自定义文件名的方式,这里依然延续之前的逻辑,当ueditor.hash_filename=true的时候再自定义名字(这里使用的是时间戳加随机字符串),否则就使用源文件名
protected function getFilename(UploadedFile $file, array $config)
{
$ext = '.' . $file->getClientOriginalExtension();
$rand = mt_rand(0, pow(10, 6) - 1);
$filename = config('ueditor.hash_filename') ? time().$rand . $ext : $file->getClientOriginalName();
return $this->formatPath($config['path_format'], $filename);
}到此,大功告成~
边栏推荐
- 选择排序与冒泡排序模板
- 渗透实战-SQLServer提权
- Day05 錶格
- [untitled]
- Nbear introduction and use diagram
- 华为云鲲鹏工程师培训(广西大学)
- Leecode 122. Zuijia timing of buying and selling stocks ②
- Select sorting and bubble sorting template
- How about the ratings of 2022 Spring Festival Gala in all provinces? Map analysis helps you show clearly!
- Detailed explanation of PPTC self recovery fuse
猜你喜欢

1289_ Implementation analysis of vtask suspend() interface in FreeRTOS

Katalon框架测试web(二十六)自动发邮件

拼夕夕二面:说说布隆过滤器与布谷鸟过滤器?应用场景?我懵了。。

'2'>' 10'==true? How does JS perform implicit type conversion?

Illustrated network: what is the hot backup router protocol HSRP?

基于PHP的轻量企业销售管理系统

JVM family -- monitoring tools

Consul of distributed service registration discovery and unified configuration management

Balance between picture performance of unity mobile game performance optimization spectrum and GPU pressure

Unity移动端游戏性能优化简谱之 画面表现与GPU压力的权衡
随机推荐
疫情来袭--远程办公之思考|社区征文
Exercices de renforcement des déclarations SQL (MySQL 8.0 par exemple)
图解网络:什么是热备份路由器协议HSRP?
[book club issue 13] multimedia processing tool ffmpeg tool set
Database SQL statement summary, continuous update
pytest多进程/多线程执行测试用例
深度优先搜索简要讲解(附带基础题)
warning: LF will be replaced by CRLF in XXXXXX
Wechat official account web page authorization
Penetration practice - sqlserver empowerment
智慧地铁| 云计算为城市地铁交通注入智慧
postgresql 用户不能自己创建表格配置
Package details_ Four access control characters_ Two details of protected
【读书会第十三期】多媒体处理工具 FFmpeg 工具集
Katalon framework test web (XXVI) automatic email
If you have just joined a new company, don't be fired because of your mistakes
Don't disagree, this is the most powerful "language" of the Internet
Consul of distributed service registration discovery and unified configuration management
1289_ Implementation analysis of vtask suspend() interface in FreeRTOS
Solve the problems encountered by the laravel framework using mongodb