uniapp app端写入读取txt doc等文件并下载阅览,已经在app端实现效果

  • Post author:
  • Post category:uniapp


<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>



版权声明:本文为qq_49632849原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。