<template>
<view>
<view>{{resInfo}}</view>
<view @click="fileReader" class="">
读
</view>
<view @click="fileWriter" class="">
写
</view>
</view>
</template>
<script>
export default {
data() {
return {
resInfo: ''
}
},
methods: {
fileReader: function() {
const self = this;
// 请求本地系统文件对象 plus.io.PRIVATE_WWW:应用运行资源目录常量
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fobject) {
// fs.root是根目录操作对象DirectoryEntry
//格式可以自定义改.后面的后缀就行
fobject.root.getFile('config1.txt', {
create: true
}, function(fileEntry) {
fileEntry.file(function(file) {
var fileReader = new plus.io.FileReader();
self.resInfo = JSON.stringify(file);
fileReader.readAsText(file, 'utf-8');
fileReader.onloadend = function(evt) {
console.log('evt :>> ', evt);
self.resInfo = self.resInfo + '--' + JSON.stringify(evt);
}
self.resInfo = self.resInfo + '--' + file.size + '--' + file.name;
console.log('self.resInfo :>> ', file);
//获取对象
plus.io.resolveLocalFileSystemURL(file.fullPath, (res) => {
//uniapp下载文件
uni.downloadFile({
url: res.__remoteURL__,
success: (res1) => {
if (res1.statusCode === 200) {
console.log('res1 :>> ', res1);
console.log('下载成功');
}
let that = this;
uni.saveFile({
tempFilePath: res1
.tempFilePath,
success: function(
red) {
// uniapp阅览文件
uni.openDocument({
filePath: red
.savedFilePath,
success: (
sus
) => {
console
.log(
'成功打开'
)
}
})
console.log(
red)
}
});
}
})
downloadTask.onProgressUpdate((res2) => {
console.log('下载进度' + res2.progress);
console.log('已经下载的数据长度' + res2
.totalBytesWritten);
console.log('预期需要下载的数据总长度' + res2
.totalBytesExpectedToWrite);
})
})
console.log('file.fullPath :>> ', file);
});
});
});
console.log('this.resInfo :>> ', this.resInfo);
},
fileWriter: function() {
const self = this;
// 请求本地系统文件对象 plus.io.PRIVATE_WWW:应用运行资源目录常量
plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function(fobject) {
// fs.root是根目录操作对象DirectoryEntry
fobject.root.getFile('config1.txt', {
create: true
}, function(fileEntry) {
fileEntry.file(function(file) {
// create a FileWriter to write to the file
fileEntry.createWriter(function(writer) {
// Write data to file.
//返回页面的数据
self.resInfo = "1311111111111111111";
writer.seek(file.size - 1)
//写入可以加入需要写入的数据
writer.write("多\n无绿iwfoifh");
}, function(e) {
console.log('e :>> ', e);
self.resInfo = e;
});
});
});
});
}
}
}
</script>
<style>
</style>
uniapp app端写入读取txt doc等文件并下载阅览,已经在app端实现效果
于 2022-08-22 23:47:05 首次发布