forJrking/KLuban

rename 返回的是整个路径不是文件名

Closed this issue · 2 comments

源代码:

 //组合一个名字给输出文件
            val cacheFile = "$mOutPutDir/${System.nanoTime()}.${type.suffix}"
            //重命名接口
            val outFile = if (mRenamePredicate != null) {
                File(mRenamePredicate!!.invoke(cacheFile))
            } else {
                File(cacheFile)
            }

而且有了 setOutPutDir 设置输出目录
rename这里应该就是只修改文件名

另:
我觉得压缩后文件名应该使用原文件名,这样比较合理;
上传后展示上传的文件名,用时间戳是区分不出来哪个对哪个的。

源代码:

 //组合一个名字给输出文件
            val cacheFile = "$mOutPutDir/${System.nanoTime()}.${type.suffix}"
            //重命名接口
            val outFile = if (mRenamePredicate != null) {
                File(mRenamePredicate!!.invoke(cacheFile))
            } else {
                File(cacheFile)
            }

而且有了 setOutPutDir 设置输出目录
rename这里应该就是只修改文件名

另:
我觉得压缩后文件名应该使用原文件名,这样比较合理;
上传后展示上传的文件名,用时间戳是区分不出来哪个对哪个的。

rename 只修改文件名,这个建议可以考虑修改下,使用原文件名有个问题就是如果原来文件不同目录同名问题

源代码:

 //组合一个名字给输出文件
            val cacheFile = "$mOutPutDir/${System.nanoTime()}.${type.suffix}"
            //重命名接口
            val outFile = if (mRenamePredicate != null) {
                File(mRenamePredicate!!.invoke(cacheFile))
            } else {
                File(cacheFile)
            }

而且有了 setOutPutDir 设置输出目录
rename这里应该就是只修改文件名
另:
我觉得压缩后文件名应该使用原文件名,这样比较合理;
上传后展示上传的文件名,用时间戳是区分不出来哪个对哪个的。

rename 只修改文件名,这个建议可以考虑修改下,使用原文件名有个问题就是如果原来文件不同目录同名问题

那得是多文件批量压缩时有可能出现这种情况,单文件压缩没影响。

可以这样解决:

已经有提供修改文件名和输出路径的方法了,使用者可以灵活配置;
也可以保留使用时间戳的命名方式,给个配置方法来修改就行,有点和rename重复
或者压缩或保存时先检测原文件名存不存在,不存在就使用原文件名,存在的话就使用其他命名方式,比如:时间戳 或 windows的 原文件名+序号