在uniapp中使用plus.io实现文件内容读写。
<script>
export default {
onLaunch: function() {
const sourceFilePath = plus.io.convertLocalFileSystemURL('_www/static/test.txt'); // _www 目录下的文件路径
const destinationFilePath = plus.io.convertLocalFileSystemURL('_doc/test_copy.txt'); // 目标文件路径
plus.io.resolveLocalFileSystemURL(sourceFilePath, function(entry) {
console.log(entry.name)
// 可通过entry对象操作test.html文件
entry.file(function(file) {
var fileReader = new plus.io.FileReader();
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
console.log('文件读取完成:', evt);
const fileContent = evt.target.result; // 获取文件内容
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fs) {
fs.root.getFile('test_copy.txt',{create:true},function(fileEntry){
fileEntry.createWriter(function(writer) {
writer.onwrite = function(e) {
console.log('write data success!')
}
writer.write(fileContent)
}, function(e) {
console.log('创建写入器失败:',e)
})
})
})
}
console.log(file.size + '--' + file.name);
});
},function(e) {
console.error('resolve file url failed: ',e.message)
})
}
}
</script>
理解plus.io的一个小秘诀就是,有时候可以把目录和文件都当成文件。