返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js利用FileReader读取本地文件或者blob方式
  • 828
分享到

js利用FileReader读取本地文件或者blob方式

2024-04-02 19:04:59 828人浏览 薄情痞子
摘要

目录FileReader读取本地文件或blob一、FileReader的使用二、FileReader的方法三、FileReader的属性四、FileReader的事件使用FileRe

FileReader读取本地文件或blob

FileReader对象提供了异步读取存储在用户计算机上的文件的内容,使用 File或 Blob 对象指定要读取的文件或数据,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。

一、FileReader的使用

注意:如果需要兼容低版本的浏览器,需要判断一下FileReader对象是否存在。


if (window.FileReader) {
 let reader = new FileReader();
} else {
 console.log('你的浏览器不支持读取文件');
}

二、FileReader的方法

方法 作用 参数 返回值
abort() 中止读取操作 none none
readAsArrayBuffer() 读取file和Blob内容 file/blob result属性中返回ArrayBuffer数据对象的文件内容
readAsBinaryString()[已被W3废弃] 读取file和Blob内容 file/blob result属性中返回原始二进制数据的文件内容
readAsDataURL() 读取file和Blob内容 file/blob

result属性中返回data:URL格式的Base64字符串的文件内容

readAsText() 读取file和Blob内容 file/blob result属性中返回一个字符串的文件内容

三、FileReader的属性

  • FileReader.error(只读):一个异常,表示在读取文件时发生的错误
  • FileReader.readyState(只读):表示FileReader状态的数字
状态名 描述
0 EMPTY 未加载任何数据
1 LOADING 数据加载中
2 DONE

数据加载完毕

  • FileReader.result(只读):读取完文件的内容,该属性在数据读取完成之后才有效,文件内容的格式是由读取的方法所决定。

四、FileReader的事件

  • FileReader.onabort:该事件是中止读取的时候触发。
  • FileReader.onerror:该事件是读取发生错误的时候触发。
  • FileReader.onload:该事件是读取完成的时候触发。
  • FileReader.onloadstart:该事件是读取操作刚开始的时候触发。
  • FileReader.onloadend:该事件是读取结束的时候触发(失败和成功的时候都会触发)。
  • FileReader.onprogress:该事件在读取的时候触发。

注意:

1、由于安全性原因,FileReader读取的是由input传入的文件或者是由ajax读取服务端返回的文件,不可以是指定路径的文件的读取。

2、FileReader可以在WEBworker中使用。


<!DOCTYPE html>
<html class="no-js">
	<head>
		<meta charset="utf-8" />
		<meta Http-equiv="X-UA-Compatible" content="IE=edge" />
		<title></title>
		<meta name="description" content="" />
		<meta name="viewport" content="width=device-width, initial-scale=1" />
		<link rel="stylesheet" href="" />
	</head>
 
	<body>
		<input type="file" id="myFile" />
		<script type="text/javascript">
			if (window.FileReader) {
				var reader = new FileReader();
			} else {
				console.log('你的浏览器不支持读取文件');
			}
			var myFile = document.querySelector('#myFile');
			myFile.onchange = function () {
				var file = myFile.files[0];
				reader.readAsDataURL(file);
				reader.onload = function () {
					var data = reader.result;   //base64形式的文件内容
				};
                reader.onerror = function(){
                    console.log('读取失败');
                    console.log(reader.error);
                }
			};
		</script>
	</body>
</html>

使用FileReader读取本地磁盘文件问题

执行一个js文件 (将js文件置于项目的src下)


(1) java.net.URL url = TestScriptEngine.class.getClassLoader().getResource("a.js");
(2)//System.out.println(url.getPath().substring(1).replace("%20", " "));
(3)FileReader fileReader = new FileReader(url.getPath());

运行时

出现:Exception in thread "main" java.io.FileNotFoundException: D:\Eclipse%20WorkSpace\(java300)ScriptManager\bin\a.js (The system cannot find the path specified)

若把url.getPath()换成"D:/Eclipse WorkSpace/(java300)ScriptManager/bin/a.js"我的本地文件目录,则可以成功读取文件

url.getPath()的值为: D:\Eclipse%20WorkSpace\(java300)ScriptManager\bin\a.js 但是不能找到加载文件

问题就出现在“%20” ,Eclipse WorkSpace之间本来是空格,系统自动将其换为%20,导致运行是出错

对url.getPath()作一些处理,把url.getPath().substring(1).replace("%20", " "); 把%20替换为" "空格;问题解决

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: js利用FileReader读取本地文件或者blob方式

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

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

猜你喜欢
  • js利用FileReader读取本地文件或者blob方式
    目录FileReader读取本地文件或blob一、FileReader的使用二、FileReader的方法三、FileReader的属性四、FileReader的事件使用FileRe...
    99+
    2024-04-02
  • js如何读取本地文件
    这篇文章主要为大家展示了“js如何读取本地文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何读取本地文件”这篇文章吧。如何用在浏览器端预览本地文件?今天...
    99+
    2024-04-02
  • 使用JS操作文件(FileReader读取--node的fs)
    目录JS读取文件 FileReader文档事件和方法基本使用事件处理node操作文件(readfile)文件读取是一个异步操作使用Promise文件的写入JS读取文件 FileRea...
    99+
    2024-04-02
  • 利用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
  • JS前端使用Blob和File读取文件的操作代码
    目录Blob创建 Blob 类型的对象1. new Blob()2. blob.slice()Blob 对象的属性Blob 应用实例FileFileReader构造函数属性事件方法实...
    99+
    2022-11-13
    js使用Blob和File读取文件 js读取文件
  • 如何使用h5+js实现本地文件读取和写入
    小编给大家分享一下如何使用h5+js实现本地文件读取和写入,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!   代码如下:   读取本地文件   <!doctypehtml>...
    99+
    2024-04-02
  • Nodejs读取本地json文件,输出json数据接口方式
    目录Nodejs读取本地json文件,输出json数据接口第一步:准备本地JSON文件第二步:编写nodejs服务程序第三步: 测试请求接口数据nodejs读取本地json文件中文乱...
    99+
    2022-11-13
    Nodejs读取json文件 读取本地json文件 输出json数据
  • Python用list或dict字段模式读取文件的方法
    前言 Python用于处理文本数据绝对是个利器,极为简单的读取、分割、过滤、转换支持,使得开发者不需要考虑繁杂的流文件处理过程(相对于JAVA来说的,嘻嘻)。博主自己工作中,一些复杂的文本数据处理计算,包括...
    99+
    2022-06-04
    字段 模式 文件
  • winform读取本地文件的方法是什么
    在WinForms中,可以使用`OpenFileDialog`对话框来选择本地文件,并使用`StreamReader`类来读取文件内...
    99+
    2023-08-19
    winform
  • android读取本地文件的方法是什么
    Android读取本地文件的方法有以下几种:1. 使用FileInputStream或FileReader类读取文件内容:```ja...
    99+
    2023-08-26
    android
  • spark读取本地文件的方法有哪些
    在Spark中,可以使用以下几种方式来读取本地文件: 使用sc.textFile()方法读取文本文件: from pyspark...
    99+
    2024-04-02
  • spark读取本地文件的方法是什么
    在Spark中读取本地文件的方法通常使用SparkSession的read方法来实现。以下是一个示例代码: from pyspark...
    99+
    2024-04-02
  • 使用BufferedReader读取本地文件的操作
    BufferedReader读取本地文件 在使用BufferedWriter写入文件时,如果忘记关闭文件(close)同时也没有调用flush(),则被写入的文件中是没有内容的。 在...
    99+
    2024-04-02
  • vue读取本地excel文件的方法是什么
    这篇“vue读取本地excel文件的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue读取本地excel文件的方...
    99+
    2023-07-04
  • java获取本地文件和远程文件的方式
    问题背景:我们项目开发的时候,经常会读取文件,如果文件在本服务器,则直接用new File() 读取即可,但是有时候需要远程读取文件,比如读取分布式存储服务器的内容或者是别人家的图片资源,这个时候new File就无法满足要求了。 下面提供...
    99+
    2023-08-17
    java 开发语言 servlet
  • 注解式if条件让IE6读取JS文件的方法
    今天小编给大家分享一下注解式if条件让IE6读取JS文件的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们...
    99+
    2024-04-02
  • 怎么利用js读取excel文件并绘制echarts图形
    这篇“怎么利用js读取excel文件并绘制echarts图形”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么利用js读取e...
    99+
    2023-06-30
  • php读取本地文件常用函数(fopen与file_get_contents)
    下面我们以.txt文件为实例来介绍php读取本地文件的函数,读取文件我们可以利用fopen或file_get_contents来读取,file_get_contents更简单而fop...
    99+
    2022-11-15
    fopen file_get_contents
  • 怎么在Python中利用流式读取大文件
    怎么在Python中利用流式读取大文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几乎...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作