- readFile api 在手机上无法使用
代码: [图片] 在电脑上调用正常,真机调试无法使用,调试台显示:[图片] 没有读取权限? 我在网上找了找原因,说是临时文件已经过了生存周期被清理,找不到文件就报这个错,于是我 先用saveFile把文件移到已知目录下,再用readFile,就读取文件成功了,代码如下: [图片] 还没完,这样读取小文件是可以了,我起先也就以为就是生存周期的问题了。当我需要需要读取一个大文件时,savaFile报错 文件太大不能保存,那么问题就来了。怎么读取大文件?于是我就试着去找了手机上文件保存的位置,还真让我找到了,也发现了真正不能读取的原因。我找到chooseVideo产生的临时文件夹,里面的文件根本没有被清除,如下图 [图片] 但是这个文件没有文件类型后缀,也就是MP4,我再找到savaFile的文件夹, [图片] 有后缀。我在再电脑上找到电脑的chooseVideo文件夹和savaFile文件夹,都有后缀。所以我推测这就是电脑上成功的原因,手机上报错显示的文件所在位置是: wxfile://tmp_0731fc20c50273d1edce40df7247f7e5ca59a70f863ca8ab.mp4 但是在目录文件夹里只有tmp_0731fc20c50273d1edce40df7247f7e5ca59a70f863ca8ab ,没有后缀,所以读取不到,而用了savaFile之后的文件是有后缀的。如果我的推测正确,那么就是chooseVideo有bug,我的手机是小米6。如果不是,还请快点给出解决的方法。
2020-03-19 - readFile设置了长度怎么没有效果?
wx.chooseVideo({ success(r){ file.readFile({ filePath: r.tempFilePath, length:0.1*1024*1024, success(res){ console.log(res) } }) } }) 无论怎么设置length,都是整个读取文件
2020-03-17