fabu.love icon indicating copy to clipboard operation
fabu.love copied to clipboard

文件大小统计错误

Open hack2012 opened this issue 4 years ago • 6 comments

APK文件大小统计不准确,有没有同学解决了?

hack2012 avatar Jul 23 '20 08:07 hack2012

排队等解决,大概看了一下,用的就是标准的fs.stats.size,看上去没啥问题,除非参数fileRealPath路径错了,我没本地运行,不确定是不是

Leonw2229 avatar Nov 05 '20 02:11 Leonw2229

本地看了一下,有临时解决办法了 把 server->controllers->upload.js内大约157行的地方 info.size = fs.statSync(fileRealPath).size; 改成 info.size = fs.statSync(fileRealPath).blksize * fs.statSync(fileRealPath).blocks; 意思是根据文件块数量乘每个块的大小计算出总文件大小,可能会稍微有点偏差,但是可以接受

Leonw2229 avatar Nov 05 '20 03:11 Leonw2229

emmm,我本地测试可以,但是我放线上编译就不行了。。放弃了

Leonw2229 avatar Nov 05 '20 05:11 Leonw2229

改用其他方案了,此操作可能会有点问题,具体方式是将 info.size = fs.statSync(fileRealPath).size; 改成 info.size = file.size; 因为我看方法有file参数,就直接用file对象里的size了,没有读取服务器已经存储的文件的大小

Leonw2229 avatar Nov 05 '20 07:11 Leonw2229

感觉作者已经不维护了,我已经不用了。

hack2012 avatar Nov 05 '20 10:11 hack2012

@hack2012 @Leonw2229 试了下, 应该是 1000 还是 1024 计算大小导致的. 电脑的文件系统以 1000 为进制算的, node 中的 fs 应该是以 1024 为进制算的.

另外可以试下这个版本, 修复了一些问题:

https://github.com/answer-huang/fabu.love

answer-huang avatar Aug 22 '21 14:08 answer-huang