广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >js如何读取本地文件
  • 515
分享到

js如何读取本地文件

2024-04-02 19:04:59 515人浏览 八月长安
摘要

这篇文章主要为大家展示了“js如何读取本地文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何读取本地文件”这篇文章吧。如何用在浏览器端预览本地文件?今天

这篇文章主要为大家展示了“js如何读取本地文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何读取本地文件”这篇文章吧。

如何用在浏览器端预览本地文件?

今天的主题是使用浏览器预览本地文件。

由于浏览器安全策略的限制,javascript程序不能自由地访问本地资源,这是对用户信息安全来说,是一项不得不遵守的准则。假如网络上的javascript程序可以自如地访问用户主机的本地资源,那么浏览器用户将毫无安全可言。尽管有这个安全限制,但是在得到用户允许的情况下,浏览器还是可以访问本地资源的。

获得用户允许的方法就是通过标签来让用户手动选择文件,这一过程就是用户授予访问权限的过程。然后 使用获得File 对象通过URL.createObjectURL(file)转换为文件url, 就可以传递给类似y于img,video,audio等标签使用了。我将本地文件转换为url 的功能封装成了一个类。

function LocalFileUrl(){
 var _this = this;
 this.input_id = 'input_getLocalFile'+ Math.round(Math.random() * 1000);
 $("body").append("<input type='file' style='display:none' id='"+this.input_id+"' multiple>");
 this.urls=[];
 var _this = this;
 $("#" + this.input_id).change(function(e){
  console.log("change");
  //如果_this.urls 不为空,则释放url
  if(_this.urls){
   _this.urls.forEach(function(url,index,array){
    URL.revokeObjectURL(url.url);//一经释放,马上将无法使用这个url的资源
   });
   _this.urls = [];
  }
  $(this.files).each(function(index,file){
   var url = URL.createObjectURL(file);
   _this.urls.push({url:url,file:file});
  });
  typeof _this.getted == 'function' && _this.getted(_this.urls);
 })
}

LocalFileUrl.prototype.getUrl = function(getted){
 this.getted = getted;
 $("#"+ this.input_id).click();
}

使用方法:

var localFileUrl = new LocalFileUrl();//实例化对象
//触发读取,弹出文件选择框,并且监听文件选择事件。  
localFileUrl.getUrl(function(urls){
 urls.forEach(function(item,index,array){
  $("body").append("<div>"+index+"----"+item.url+"</div>")
 })
})

使用jQuery 的promise对象改写

这种方式的好处是可以使用链式写法,并且可以绑定多个done事件处理函数,执行顺序按照绑定顺序。

function LocalFileUrl(){
 this.dtd ={};
 this.input_id = 'input_getLocalFile'+ Math.round(Math.random() * 1000);
 $("body").append("<input type='file' style='display:none' id='"+this.input_id+"' multiple>");
 this.urls=[];
 var _this = this;
 $("#" + this.input_id).change(function(e){
  //如果_this.urls 不为空,则释放url
  if(_this.urls){
   _this.urls.forEach(function(url,index,array){
    URL.revokeObjectURL(url.url);//一经释放,马上将无法使用这个url的资源
   });
   _this.urls = [];
  }
  $(this.files).each(function(index,file){
   var url = URL.createObjectURL(file);
   _this.urls.push({url:url,file:file});
  });
  //传入一个可选的参数数组
  _this.dtd.resolveWith(window,new Array(_this.urls));
 })
}

LocalFileUrl.prototype.getUrl = function(){
 this.dtd = $.Deferred();
 $("#"+ this.input_id).click();
 return this.dtd.promise();
}

使用方式

var localFilrUrl = new LocalFileUrl();
// 绑定done事件
localFileUrl.getUrl().done(function(urls){
 urls.forEach(function(item,index,array){
  $("body").append("<div>"+index+"----"+item.url+"</div>")
 })
}).done(function(){
 console.log("完成");
}).done(function(){
 alert("已经读取了本地文件路径");
})

兼容性

URL.createObjectURL(File/Blob)是一个实验性的功能。IE10及以上版本兼容。与之对应的是URL.revokeObjectURL(url),它用来告诉浏览器已经不需要这个url的引用了,可以释放掉了。一经调用,这个url立即失效。

以上是“js如何读取本地文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网VUE频道!

--结束END--

本文标题: js如何读取本地文件

本文链接: https://www.lsjlt.com/news/75098.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js如何读取本地文件
    这篇文章主要为大家展示了“js如何读取本地文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何读取本地文件”这篇文章吧。如何用在浏览器端预览本地文件?今天...
    99+
    2022-10-19
  • html5如何读取本地文件
    这篇文章给大家分享的是有关html5如何读取本地文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 html结构样式如下: <div class =“ addpic”&...
    99+
    2022-10-19
  • android如何读取本地文件
    要在Android中读取本地文件,可以使用Java的File类和输入流来实现。以下是一个示例代码:```javaFile file ...
    99+
    2023-08-12
    android
  • php 读取本地文件
    在 PHP 中,可以使用以下方法之一来读取本地文件: file_get_contents() 函数:读取整个文件并将其作为字符串返回。 $filename = "/path/to/file.txt"; // 要读取的文件路径$conten...
    99+
    2023-08-18
    php 开发语言 服务器
  • html5中如何读取本地文件
    这篇文章将为大家详细讲解有关html5中如何读取本地文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:<div class=&qu...
    99+
    2022-10-19
  • 如何使用h5+js实现本地文件读取和写入
    小编给大家分享一下如何使用h5+js实现本地文件读取和写入,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   代码如下:   读取本地文件   <!doctypehtml>...
    99+
    2022-10-19
  • vue如何读取本地的excel文件
    小编给大家分享一下vue如何读取本地的excel文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我想实现读取一个本地的xlsx...
    99+
    2022-10-19
  • js利用FileReader读取本地文件或者blob方式
    目录FileReader读取本地文件或blob一、FileReader的使用二、FileReader的方法三、FileReader的属性四、FileReader的事件使用FileRe...
    99+
    2022-11-12
  • django怎么读取本地文件
    在 Django 中,你可以使用 `open()` 函数来读取本地文件。首先,你需要确定要读取文件的路径。可以使用 `setting...
    99+
    2023-10-09
    django
  • JavaScript怎么读取本地文件
    这篇文章主要介绍了JavaScript怎么读取本地文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。文件操作的流程获取文件由于浏览器中的 JS 无法从用户的设备访问本地文件,...
    99+
    2023-06-17
  • 利用java如何实现读取本地文件
    利用java如何实现读取本地文件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java 读取本地文件实例详解用javax.xml、w3c解析实例代码:package cn.co...
    99+
    2023-05-31
    java 本地文件 ava
  • 如何利用html5 file api读取本地文件
    小编给大家分享一下如何利用html5 file api读取本地文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在html4的年代,我们如果要在网页上呈现一张用户...
    99+
    2023-06-09
  • uniapp安卓本地写入读取文件
    一、封装操作文件io.js export default {storage(addr,data) {plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, // 程序公用文档目录常量fs =>...
    99+
    2023-10-02
    uni-app javascript 前端
  • java如何读取大文件文本
    Java可以使用`BufferedReader`类来读取大文件文本。`BufferedReader`类提供了一个`readLine(...
    99+
    2023-08-08
    java
  • 使用BufferedReader读取本地文件的操作
    BufferedReader读取本地文件 在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的。 在...
    99+
    2022-11-12
  • D3.js中如何读取CSV表格文件
    这篇文章将为大家详细讲解有关D3.js中如何读取CSV表格文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. CSV 格式是什么CSV(Comma Separated...
    99+
    2022-10-19
  • winform读取本地文件的方法是什么
    在WinForms中,可以使用`OpenFileDialog`对话框来选择本地文件,并使用`StreamReader`类来读取文件内...
    99+
    2023-08-19
    winform
  • android读取本地文件的方法是什么
    Android读取本地文件的方法有以下几种:1. 使用FileInputStream或FileReader类读取文件内容:```ja...
    99+
    2023-08-26
    android
  • Python 如何读取.txt,.md等文本文件
    看代码吧~ # example.md 1 2 3 4 5 6 7 8 9 >>> with open('example.md') as f: lines = f.readli...
    99+
    2022-06-02
    Python 读取.txt文件 读取.md文件
  • JS如何实现加载和读取XML文件
    这篇文章给大家分享的是有关JS如何实现加载和读取XML文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有时在开发时用到 JS 加载和读取XML文件的情况,写下提供参考,这里主要...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作