广告
返回顶部
首页 > 资讯 > 精选 >JavaScript怎么读取本地文件
  • 693
分享到

JavaScript怎么读取本地文件

2023-06-17 04:06:01 693人浏览 安东尼
摘要

这篇文章主要介绍了javascript怎么读取本地文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。文件操作的流程获取文件由于浏览器中的 js 无法从用户的设备访问本地文件,

这篇文章主要介绍了javascript怎么读取本地文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

文件操作的流程

获取文件

由于浏览器中的 js 无法从用户的设备访问本地文件,我们需要为用户提供一种方法来选择一个或多个文件供我们使用。这可以通过文件选择器<input type='fule' />来完成。

<input type="file" id="fileInput">

如果想允选择多个文件,可以添加multiple属性:

<input type="file" id="fileInput" multiple>

我们可以通过change事件来监听文件的选择,也可以添加另一个 UI 元素让用户显式地开始对所选文件的处理。

input file 具有一个files属性,该属性是File对象的列表(可能有多个选择的文件)。

<input type="file" id="fileInput"> <script>   document.getElementById('fileInput').addEventListener('change', function selectedFileChanged() {     console.log(this.files); // will contain infORMation about the file that was selected.   }); </script>

File对象如下所示:

{   name: 'test.txt',         // 所选文件的名称   size: 1024,               // 字节大小   type: 'text/plain',       // 基于文件扩展名的假定文件类型,这有可能是不正确的   lastModified: 1234567890, // 根据用户系统的最新更改的时间戳   lastModifiedDate: // 最后修改的时间戳的日期对象 }

读取文件

读取文件,主要使用的是[FileReader][1]类。

(1) 该对象拥有的属性:

  • 「FileReader.error」 :只读,一个DOMException,表示在读取文件时发生的错误 。

  • 「FileReader.readyState」:只读 表示 FileReader 状态的数字。取值如下:

  • JavaScript怎么读取本地文件

  • 「FileReader.result」:只读,文件的内容。该属性仅在读取操作完成后才有效,数据的格式取决于使用哪个方法来启动读取操作。

(2) 该对象拥有的方法:

  • readAsText(file, encoding):以纯文本形式读取文件,读取到的文本保存在result属性中。第二个参数代表编码格式。

  • readAsDataUrl(file):读取文件并且将文件以数据URI的形式保存在result属性中。

  • readAsBinaryString(file):读取文件并且把文件以字符串保存在result属性中。

  • readAsArrayBuffer(file):读取文件并且将一个包含文件内容的ArrayBuffer保存咋result属性中。

  • FileReader.abort():中止读取操作。在返回时,readyState属性为DONE。

(3) 文件读取的过程是异步操作,在这个过程中提供了三个事件:progress、error、load事件。

  • progress:每隔50ms左右,会触发一次progress事件。

  • error:在无法读取到文件信息的条件下触发。

  • load:在成功加载后就会触发。

在下面的示例中,我们将使用readAsText和readAsDataURL方法来显示文本和图像文件的内容。

例一:读取文本文件

为了将文件内容显示为文本,change需要重写一下:

document.getElementById('fileInput').addEventListener('change', function selectedFileChanged() {   if (this.files.length === 0) {     console.log('请选择文件!');     return;   }    const reader = new FileReader();   reader.onload = function fileReadCompleted() {     // 当读取完成时,内容只在`reader.result`中     console.log(reader.result);   };   reader.readAsText(this.files[0]); });

首先,我们要确保有一个可以读取的文件。如果用户取消或以其他方式关闭文件选择对话框而不选择文件,我们就没有什么要读取和退出函数。

然后我们继续创建一个FileReader。reader的工作是异步的,以避免阻塞主线程和 UI 更新,这在读取大文件(如视频)时非常重要。

reader发出一个'load'事件(例如,类似于Image对象),告诉我们的文件已经读取完毕。

reader将文件内容保存在其result属性中。此属性中的数据取决于我们使用的读取文件的方法。在我们的示例中,我们使用readAsText方法读取文件,因此result将是一个文本字符串。

例二:显示本地选择的图片

如果我们想要显示图像,将文件读取为字符串并不是很有用。FileReader有一个readAsDataURL方法,可以将文件读入一个编码的字符串,该字符串可以用作元素的源。本例的代码与前面的代码基本相同,区别是我们使用readAsDataURL读取文件并将结果显示为图像:

document.getElementById('fileInput').addEventListener('change', function selectedFileChanged() {   if (this.files.length === 0) {     console.log('No file selected.');     return;   }    const reader = new FileReader();   reader.onload = function fileReadCompleted() {       const img = new Image();       img.src = reader.result;       document.body.appendChild(img);   };   reader.readAsDataURL(this.files[0]); });

感谢你能够认真阅读完这篇文章,希望小编分享的“JavaScript怎么读取本地文件”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: JavaScript怎么读取本地文件

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

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

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

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

下载Word文档
猜你喜欢
  • JavaScript怎么读取本地文件
    这篇文章主要介绍了JavaScript怎么读取本地文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。文件操作的流程获取文件由于浏览器中的 JS 无法从用户的设备访问本地文件,...
    99+
    2023-06-17
  • django怎么读取本地文件
    在 Django 中,你可以使用 `open()` 函数来读取本地文件。首先,你需要确定要读取文件的路径。可以使用 `setting...
    99+
    2023-10-09
    django
  • php 读取本地文件
    在 PHP 中,可以使用以下方法之一来读取本地文件: file_get_contents() 函数:读取整个文件并将其作为字符串返回。 $filename = "/path/to/file.txt"; // 要读取的文件路径$conten...
    99+
    2023-08-18
    php 开发语言 服务器
  • 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
  • html5中如何读取本地文件
    这篇文章将为大家详细讲解有关html5中如何读取本地文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:<div class=&qu...
    99+
    2022-10-19
  • vbs中怎么读取文本文件
    vbs中怎么读取文本文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。vbs读取文件方法Function readfile(readfilepath)...
    99+
    2023-06-08
  • C#中怎么读取文本文件
    C#中怎么读取文本文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#读文本文件的解答:  string str = &qu...
    99+
    2023-06-18
  • uniapp安卓本地写入读取文件
    一、封装操作文件io.js export default {storage(addr,data) {plus.io.requestFileSystem(plus.io.PUBLIC_DOCUMENTS, // 程序公用文档目录常量fs =>...
    99+
    2023-10-02
    uni-app javascript 前端
  • vue如何读取本地的excel文件
    小编给大家分享一下vue如何读取本地的excel文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我想实现读取一个本地的xlsx...
    99+
    2022-10-19
  • winform读取本地文件的方法是什么
    在WinForms中,可以使用`OpenFileDialog`对话框来选择本地文件,并使用`StreamReader`类来读取文件内...
    99+
    2023-08-19
    winform
  • android读取本地文件的方法是什么
    Android读取本地文件的方法有以下几种:1. 使用FileInputStream或FileReader类读取文件内容:```ja...
    99+
    2023-08-26
    android
  • 使用BufferedReader读取本地文件的操作
    BufferedReader读取本地文件 在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的。 在...
    99+
    2022-11-12
  • vue读取本地excel文件的方法是什么
    这篇“vue读取本地excel文件的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue读取本地excel文件的方...
    99+
    2023-07-04
  • java读取大文件文本怎么处理
    处理大文件文本可以使用Java中的流式处理,以避免一次性将整个文件加载到内存中。以下是一个示例代码,使用BufferedReader...
    99+
    2023-09-20
    java
  • linux怎么取文件到本地windows
    要将文件从Linux复制到Windows,可以使用以下方法:1. 使用SCP命令:SCP是Secure Copy的缩写,它可以在Li...
    99+
    2023-09-27
    linux windows
  • springboot怎么读取本地图片
    Spring Boot提供了一种简单的方式来读取本地图片。可以按照以下步骤操作: 在Spring Boot项目的资源目录(src...
    99+
    2023-10-28
    springboot
  • 利用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
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作