当前位置:网站首页>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);
}到此,大功告成~
边栏推荐
- Package details_ Four access control characters_ Two details of protected
- Go 语言入门很简单:Go 实现凯撒密码
- Objective-C string class, array class
- MySQL maxscale realizes read-write separation
- 2022-07-03: there are 0 and 1 in the array. Be sure to flip an interval. Flip: 0 becomes 1, 1 becomes 0. What is the maximum number of 1 after turning? From little red book. 3.13 written examination.
- [source code analysis] model parallel distributed training Megatron (5) -- pipestream flush
- 微信公众号网页授权
- Detailed explanation of PPTC self recovery fuse
- GUI Graphical user interface programming (XIV) optionmenu - what do you want your girlfriend to wear on Valentine's day
- Deep thinking on investment
猜你喜欢

渗透实战-guest账户-mimikatz-向日葵-sql提权-离线解密

Sales management system of lightweight enterprises based on PHP

2022-07-03: there are 0 and 1 in the array. Be sure to flip an interval. Flip: 0 becomes 1, 1 becomes 0. What is the maximum number of 1 after turning? From little red book. 3.13 written examination.

How about the ratings of 2022 Spring Festival Gala in all provinces? Map analysis helps you show clearly!

Mindmanager2022 efficient and easy to use office mind map MindManager

如何有效远程办公之我见 | 社区征文

JSON string conversion in unity

Go 语言入门很简单:Go 实现凯撒密码

Session learning diary 1

Explain AI accelerator in detail: why is this the golden age of AI accelerator?
随机推荐
Katalon框架测试web(二十一)获取元素属性断言
选择排序与冒泡排序模板
函数计算异步任务能力介绍 - 任务触发去重
ctf-pikachu-CSRF
【.NET+MQTT】.NET6 環境下實現MQTT通信,以及服務端、客戶端的雙邊消息訂閱與發布的代碼演示
深度优先搜索简要讲解(附带基础题)
1289_ Implementation analysis of vtask suspend() interface in FreeRTOS
postgresql 用户不能自己创建表格配置
Katalon framework test web (XXVI) automatic email
STM32 external DHT11 display temperature and humidity
pytest多进程/多线程执行测试用例
Formulaire day05
[paddleseg source code reading] paddleseg calculation dice
如何有效远程办公之我见 | 社区征文
[source code analysis] model parallel distributed training Megatron (5) -- pipestream flush
JVM family -- heap analysis
Add IDM to Google browser
Deep thinking on investment
Audio and video technology development weekly | 232
system information