1运行平台 mumu模拟器
2 问题描述: 从模拟器本地文件夹选取一个文件,然后准备利用file.slice 来分段读入文件。
但是在回调函数(onloadend)里打印数据来看,e.target.result里是整个文件的内容。
项目不方便上传 ,写了一个测试页如下,把path变量改一下,指向文件就可以了
<template>
<view class="content">
{{novelContent}}
</view>
</template>
<script>
export default {
data() {
return {
novelContent:'',
path:'/storage/emulated/0/Android/data/io.dcloud.HBuilder/apps/HBuilder/doc/短文件.txt',
};
},
methods: {
// 初始化阅读器
_initReader(bookname) {
let _this = this
var fReader = new plus.io.FileReader
fReader.onloadend = function (e ) {
console.log( "Read end" );
console.log(e)
_this.novelContent = e.target.result
};
plus.io.resolveLocalFileSystemURL(this.path, function(entry) {
entry.file(function(file) {
let slice = file.slice(0,10)
fReader.readAsText(slice) ;
console.log(slice)
console.log(file)
console.log("read buffer")
})
})
}
},
onLoad(option) {
},
onReady() {
this._initReader(this.bookName) // 初始化阅读器
},
onUnload() {
}
};
</script>
3 个回复
3***@qq.com - 咸鱼飞
请问楼主最后解决了吗
Rico大叔
请问楼主解决了吗
贾小先生 - 前端工程师
解决了吗
3***@qq.com
最新版本貌似说已经修复这个bug,但是我没有试,你可以试一下
2020-10-23 10:14
贾小先生
回复 3***@qq.com: 你的代码是不是有问题
2020-10-24 21:31
3***@qq.com
回复 贾小先生: 跟我代码啥关系,人家都说了是个bug。2.9.3版本:Android平台 修复 File 文件对象的 slice 方法无法获取指定数据内容的Bug 详情
2020-10-30 14:25