修复腾讯云Tencentcloud-Cos插件自动重命名拼接Bug

发布时间:2022-2-12 13:27

因为有2个网站用的腾讯云官方出品的tencentcloud-cos插件,其实已经用几个月了,不过因为还没正式运营,就没过多测试,所以今天才发现自动重命名有bug。

如果选择:默认(日期+随机串)的方式,上传之后的文件没后缀的点了。

比如上传的文件:jingxialai.jpg,上传之后自动重命名为:202112270011jpg。

是的,jpg前面的小点没有了,这样对优化不好。

然后我看了下剩下的两种方式:格式一(日期+文件名+随机串)、格式二(自定义前缀+日期+文件名称+自定义后缀)

这两样就是正常的,我猜应该默认的就是小bug了,不可能官方认为不带点好吧?

去看了下文件的代码:class-tencent-cloud-cos.php

// 默认(日期+随机串)
return date("YmdHis") . mt_rand(100, 999)
. pathinfo($filename, PATHINFO_EXTENSION);
} elseif ($tcwpcos_options['opt']['auto_rename_config']['auto_rename_style_choice'] === '1') {
// 格式一(日期+文件名+随机串)
return date("YmdHis") . pathinfo($filename)['filename'] . mt_rand(100, 999) . "."
. pathinfo($filename, PATHINFO_EXTENSION);
} elseif ($tcwpcos_options['opt']['auto_rename_config']['auto_rename_style_choice'] === '2')

格式一里面是有个:"." ,而默认的没有。

然后又去官方github看了下,在Issues发现已经有人提过这个了,里面有人说已经修复了,不过我根据他们提到的链接查看了代码,到目前最新版1.0.3是没有的,所以就自己改了下。

// 默认(日期+随机串)
return date("YmdHis") . mt_rand(100, 999). "."
. pathinfo($filename, PATHINFO_EXTENSION);
} elseif ($tcwpcos_options['opt']['auto_rename_config']['auto_rename_style_choice'] === '1')
# . "." 就是把这个加进来就行了

最后测试了下,就正常了。

 

 

Vue3学习笔记之依赖注入Provide/Inject 网站建设

Vue3学习笔记之依赖注入Provide/Inject

Provide / Inject 通常,当我们需要从父组件向子组件传递数据时,我们使用 props。想象一下这样的结构:有一些深度嵌套的组件,而深层的子组件只需要父组件的部分内容。在这种情况下,如果...
Vue3全局实例上挂载属性方法案例讲解 网站建设

Vue3全局实例上挂载属性方法案例讲解

在大多数开发需求中,我们有时需要将某个数据,或者某个函数方法,挂载到,全局实例身上,以便于,在项目全局的任何位置都能够调用其方法,或读取其数据。 在Vue2 中,我们是在 main.js 中 直...