最新消息: 关于Git&GitHub 版本控制你了解多少?
您现在的位置是:群英 > 开发技术 > web开发 >
JavaScript如何进行读取文件?有什么方法?
PHP中文网发表于 2021-09-10 18:07 次浏览

    JavaScript如何进行读取文件?因为考虑到安全性和隐私的问题,所以web 应用程序是不能够直接访问到用户设备上的文件的,因此在JavaScript中,我们想要读取文件,就需要使用input file和FileReader来实现,接下来我们详细了解看看。

    读取文件

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

    「该对象拥有的属性:」

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

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

    常量名值描述EMPTY0还没有加载任何数据LOADING1数据正在被加载DONE2已完成全部的读取请求

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

    「该对象拥有的方法:」

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

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

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

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

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

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

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

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

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

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

    例一:读取文本文件

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

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

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

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

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

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

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

    总结

    1)由于安全和隐私的原因,JavaScript 不能直接访问本地文件。

    2)可以通过 input 类型为 file 来选择文件,并对文件进行处理。

    3) file input 具有带有所选文件的files属性。

    4) 我们可以使用FileReader来访问所选文件的内容。

    现在大家对于JavaScript如何进行读取文件应该都有所了解了,上述示例有一定的借鉴价值,有需要的朋友可以参考学习,希望对大家学习JavaScript有帮助,想要了解更多请关注群英网络其它相关文章。

标签:JavaScript读取
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
相关信息推荐