文件后缀不准确的问题
Ximeng0918 opened this issue · 10 comments
当上传地址携带参数时,文件后缀获取不准确
如:https://www.xxxxxxx.com/b233f92a5.jpg?token=624074204ae795754d
正确后缀应为 .jpg,而从 ctx.output 中的extname属性获取则为 .jpg?token=624074204ae795754d
盲猜应该是 node的 path包中的 path.extname方法获取的问题
通过url上传图片么?确实可能会有问题,后续处理一下
看了一下实现,如果通过URL上传,extname是通过返回的请求头里的content-type取的,按理说content-type不应该会带上query参数。
能否给一张可以复现的图片地址+复现方式?
开始我也看了源码实现,也看到了是通过返回的请求头里的content-type取的,所以我很疑惑,并没有找到原因
我的复现方式是用命令测试
@chcp 65001 >nul & cmd /d/s/c picgo.exe u "https://www.xxxxxxx.com/b233f92a5.jpg?token=624074204ae795754d"
下面几种地址都会获取不到文件后缀问题
第一种:携带参数
第二种:URL携带# hash
第二种:URL无文件后缀
这种暂时没找到当时的复现地址
大概类似这种 https://www.xxxxxxx.com/2021/09/2512/231056295_2_20210925123552850
嗯大概知道问题,fileName是通过path.basename取值的,这样对于url会有问题。
这里回头做一下优化吧
哦 PicGo-Gui 的cli还不能上传URL链接。你用的PicGo-Core的版本是多少呢?太旧的版本确实有这个问题。新的版本应该已经没有这个问题了。
最新的版本 npm install picgo@alpha --latest -g
如果你用的是typora内置的那个picgo-core,那个版本已经很旧了,建议全局安装新的picgo-core使用哈。
版本是 1.4.7 貌似确实很旧
版本是 1.4.7 貌似确实很旧
嗯,新的版本已经解决这个问题了
我说我昨天扒拉一个多小时源码愣是没找到问题所在,麻烦你了