vue可以操作本地文件吗

vue可以操作本地文件,其操作方法是:1、利用“XMLHttpRequest”对本地文件进行读取操作;2、利用“input”标签上传文件,然后使用“FileReader”对象和异步api,读取文件中的数据。

vue可以操作本地文件吗

本教程操作环境:Windows10系统、Vue 3版、Dell G3电脑。

vue可以操作本地文件吗?

可以。

Vue项目通过读取本地文件内容来显示内容

立即学习“前端免费学习笔记(深入)”;

需求:

公司项目需要在登陆之前,实现客户自定义项目标题。由于还未登陆,所以肯定无法通过后端管理系统配置。
第一个想到的办法是通过读取本地文件内容,来显示标题内容。
客户需要求改标题时,直接修改本地文件内容即可。

实现

读取本地文件的思路有两种,第一种是利用XMLHttpRequest,第二种是利用input的type=file将文件先上传,再读取。

第一种:

利用XMLHttpRequest对本地文件进行读取操作,值得注意的是,HTML文档的格式要与流中的读取格式设置一致, 代码如下:

methods: {  readFile(filePath) {    // 创建一个新的xhr对象    let xhr = null    if (window.XMLHttpRequest) {      xhr = new XMLHttpRequest()    } else {      // eslint-disable-next-line      xhr = new ActiveXObject('Microsoft.XMLHTTP')    }    const okStatus = document.location.protocol === 'file' ? 0 : 200    xhr.open('GET', filePath, false)    xhr.overrideMimeType('text/html;charset=utf-8')    xhr.send(null)    return xhr.status === okStatus ? xhr.responseText : null  },}

登录后复制

首先创建一个读取文件内容的函数readFile,通过XMLHttpRequest对象,读取指定路径中的文件,格式指定为text/html,并返回内容。
然后直接在login组件的created钩子函数中,调用并读取文件内容,赋值给需要显示的标题title属性。

  created() {    this.getList()    this.title = this.readFile('../../../static/title.txt')    console.log(this.title)  },

登录后复制

本次项目需求就是使用此方案解决。

第二种:

上传文件利用input标签,然后使用FileReader对象,h5提供的异步api,可以读取文件中的数据。

                  Document        点击上传:     
点击上传2: function uploadFile1() { const selectedFile = document.getElementById('files1').files[0] // 读取文件名 const name = selectedFile.name // 读取文件大小 const size = selectedFile.size // FileReader对象,h5提供的异步api,可以读取文件中的数据。 const reader = new FileReader() // readAsText是个异步操作,只有等到onload时才能显示数据。 reader.readAsText(selectedFile) reader.onload = function () { //当读取完成后回调这个函数,然后此时文件的内容存储到了result中,直接操作即可 console.log(this.result); } } function uploadFile2(e) { const selectedFile = e.target.files[0] const reader = new FileReader() // 文件内容载入完毕之后的回调。 reader.onload = function(e) { console.log(e.target.result) } reader.readAsText(selectedFile) }

登录后复制 推荐学习:《vue视频教程》

以上就是vue可以操作本地文件吗的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2922262.html

(0)
上一篇 2025年3月11日 18:36:57
下一篇 2025年3月2日 00:20:45

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vue工程编译sass错误怎么办

    vue工程编译sass错误的解决办法:1、使用镜像源“cnpm install node-sass sass-loader –save-dev”安装sass;2、在“package.json”中更改“sass-loader”版本…

    2025年3月11日
    200
  • vue组件怎么传值

    传值方法:1、利用props实现父传子;2、子传父,需要自定义事件,在子组件中用“this.$emit(‘事件名’)”触发,而父中用“@事件名”监听;3、兄弟间,通过公有父元素作为桥接,结合父子props传参、子父自定义事件;4、用路由传值…

    2025年3月11日
    200
  • vite和webpack的区别是什么

    区别:1、webpack服务器启动速度比vite慢;由于vite启动的时候不需要打包,也就无需分析模块依赖、编译,所以启动速度非常快。2、vite热更新比webpack快;vite在HRM方面,当某个模块内容改变时,让浏览器去重新请求该模块…

    2025年3月11日
    200
  • vue中用到es6特性有哪些

    特性:1、let和const关键字,用于声明变量;2、“for…of”循环,可迭代数据;3、Iterable,是实现可迭代协议的任何对象;4、Generator;5、默认参数;6、解构赋值语法,可以将属性/值从对象/数组中取出;7、剩余/展…

    2025年3月11日
    200
  • vue怎么在元素上增加样式

    增加方法:1、用“:class=”[‘类名’]”语句添加;2、用“:class=”[‘类名1′,’类名2’,{属性名(类名):’属性…

    2025年3月11日
    200
  • vue数据冻结有什么用

    在vue中,数据冻结“Object.freeze()”方法用于冻结对象,禁止对于该对象的属性进行修改(由于数组本质也是对象,因此该方法可以对数组使用)。对象冻结后,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不…

    2025年3月11日 编程技术
    200
  • .vue格式文件用什么软件打开

    可打开“.vue”格式文件的软件:1、webStorm,是一款JavaScript 开发工具;2、Visual Studio Code,是微软出的一款轻量级代码编辑器,免费而且功能强大,对JavaScript和NodeJS的支持非常好;3、…

    2025年3月11日
    200
  • vue的内置指令有哪些构成

    内置指令有16个:v-text、v-html、v-show、v-if、v-else、v-else-if、v-for、v-on、v-bind、v-model、v-slot、v-pre、v-cloak、v-once、v-memo、v-is;其中…

    2025年3月11日 编程技术
    200
  • vue路由有哪几种模式有什么区别

    vue路由有三种模式:Hash、History、Abstract。区别:1、hash模式的url路径会出现#字符,其他模式不会;2、hash值的改变会触发hashchange事件,其他模式不会;3、history模式整个地址重新加载,可以保…

    2025年3月11日
    200
  • vue3改了几个生命周期函数

    vue3改了4个生命周期函数。Vue3组合式api取消了beforeCreated和created钩子函数,采用steup钩子代替,且里面不能使用this。Vue3里面的组件销毁的钩子函数由destroyed和beforeDestroy换成…

    2025年3月11日
    200

发表回复

登录后才能评论