Vue项目读取本地文件

本文介绍了在Vue项目中如何读取本地文件,特别是在使用IDEA 2019.1、Node v12.16.2和Vue CLI 4.3.1的环境下。在读取本地public文件夹中的test.properties文件时,可能会遇到文件乱码和读取到的中文为Unicode编码的问题。对于乱码问题,建议将文件保存为UTF-8编码;对于Unicode编码问题,可以在前端或后台进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

观前提示:

本文所使用的IDEA版本为ultimate 2019.1,node版本为v12.16.2,vue版本为@vue/cli 4.3.1。

在项目开发过程中,需要在vue前端读取配置等文件。

1.实例

我的本地文件放在vue项目中的public文件夹中

在这里插入图片描述

test.properties

content=测试内容

vue文件中读取文件内容

// 读取test.properties
readTestFile() {
  const file = this.loadFile('test.properties')
  console.info(file)
  console.log(this.unicodeToUtf8(file))
},
// 读取文件
loadFile(name) {
  const xhr = new XMLHttpRequest()
  const okStatus = document.location.protocol === 'file:' ? 0 : 200
  xhr.open('GET', name, false)
  xhr.overrideMimeType('text/html;charset=utf-8')// 默认为utf-8
  xhr.send(null)
  return xhr.status === okStatus ? xhr.responseText : null
},
// unicode转utf-8
unicodeToUtf8(data) {
  data = data.replace(/\\/g, '%')
  return unescape(data)
}

运行结果如下
在这里插入图片描述

2.可能遇到的问题

2.1.解析的文件乱码

读取文件的方法,以utf-8形式读取文件,建议修改文件格式保存为utf-8编码,或者改变读取格式

xhr.overrideMimeType('text/html;charset=utf-8')// 默认为utf-8

2.2.读取中文为unicode编码

由于properties存储中文为unicode编码,需要在后台,或者前端处理一下

// unicode转utf-8
unicodeToUtf8(data) {
  data = data.replace(/\\/g, '%')
  return unescape(data)
}
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值