android studio 读取内存txt文件_前端读取.txt文件

 唔……假如跟你对接的后端说文件上传成功之后返回结果因为各种原因要前端自己解析的话,假如你不够强势,说服不了跟你对接的这个后端的话,那你就只能自己试着解析一下了……

需求已经明确了,废话不多说,直接上实现步骤好吧!(vue的项目昂……)

01

备一个"type=file"的input

需要注意的是:input的type一定是“file”,accept为“.txt”。

0ba582127b751ff5152d0afce0392f93.png

02

给input添加change事件

文件上传是在change事件里面发生的,所以input现在急需一个change事件。

e3abef8f81b7102e5c58bd67346b8047.png

03

读取文件

new 一个FileReader(),利用readAsText()读取文件,具体操作如下:

bc2d96987e91f8ff548e4b34f1f0f9cd.png

我上传一个.txt文件:

99bec1da516b432b7a76d7221ea38824.png

我们不妨在浏览器里面看一下返回结果:

b32034127ce773466a093d1b7a1e3234.png

04

对返回格式进行处理

现在我们已经读取到了.txt文件的内容,接下来我们需要对拿到的这个结果进行处理,具体处理成什么样的,这个得看后端的需求,我那个需求是拿到.txt文件的第一行,用数组的形式展现,所以我做了如下处理:

2e9de2c757a1738e1ace65567701291a.png

用了一个正则进行换行匹配,然后字符串转数组,这个就完全考验你的基础知识了,不会的百度一下,跟读文件其实关系不是特别大。整体代码看一下:

ace8c37c126caa886a090e955af61fb4.png

05

补充说明

如果读取出来的东西想要在页面上展示的话,最好用$set()取设置,避免出现视图不会自动更新的情况,比如:

93652fa30ddd88c1dd301c39a8d455d4.png

ebc8f5244c23586d2b408d00ce18427c.pngc33b0c868a0e649685749eaa25b1aa93.png

我看别人文档里面是这样说的,但是我试了一下,直接赋值也是没有问题的。

57d3f0c395f7b7cbba9acafd8c01e5b5.png

end

总结

唔……总共没几行,代码我没有上传github,我直接贴到后面吧,需要的可以粘贴复制一下,但是正常情况下应该用不到我觉得,因为我其实很少碰到让前端自己读文件的这种情况,这次绝逼是个例外……      export default {     name: "uploadFile",     components: {},     data() {         return {             fileData:[]         }     },     created() {},     methods: {         fileChange(e) {             let file = e.target.files[0]             let vm = this             this.readFile(file).then(res => {                 let arr = res.match(/[^\n]+/) // 读取.txt文件第一行                 let str = arr[0].trim('\r', 'right')                 vm.fileData = str.split(',')                 console.log(vm.fileData,"第一行")             })         },         // 读取文件         readFile(file) {             return new Promise(function (resolve, reject) {             let reader = new FileReader()             reader.readAsText(file)             reader.onload = function (e, res) {                 resolve(e.target.result)                 }             })         },     } };
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值