js实现浏览本地文件并显示扩展名的方法

要实现浏览本地文件并显示扩展名的方法,需要使用HTML5 File API和JavaScript。下面是具体步骤:

  1. 创建html模板,添加文件输入框
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>浏览本地文件</title>
  </head>
  <body>
    <input type="file" id="file-input">
    <pre id="file-contents"></pre>
  </body>
</html>

2.编写JavaScript代码,监听文件输入框,显示文件名和扩展名

const fileInput = document.querySelector('input[type="file"]');
const fileContent = document.getElementById('file-contents'); 

fileInput.addEventListener('change', (event) => {
    const file = event.target.files[0]; // 获取选择的文件
    const fileName = file.name; // 文件名
    const extension = fileName.split('.').pop(); // 扩展名
    fileContent.textContent = `文件名:${fileName},扩展名:${extension}`; // 将文件名和扩展名显示在内容框内
});
  1. 需要注意的是,浏览本地文件对接口的操作是异步的,因此我们需要用FileReader来读取文件内容和异步处理。在上述change事件的回调函数中,将以下代码添加:
const fileReader = new FileReader(); // 创建一个FileReader对象
fileReader.readAsText(file); // 读取文件内容
fileReader.onload = () => {
    const contents = fileReader.result; // 文件内容
    fileContent.textContent = `文件名:${fileName},扩展名:${extension},内容:${contents}`; // 将文件名、扩展名和内容显示在内容框内
}

示例1:使用readAsDataURL方法读取文件并显示在页面上

const fileInput = document.querySelector('input[type="file"]');
const fileContent = document.getElementById('file-contents'); 

fileInput.addEventListener('change', (event) => {
    const file = event.target.files[0]; // 获取选择的文件
    const fileName = file.name; // 文件名
    const extension = fileName.split('.').pop(); // 扩展名

    // 读取文件内容并显示在页面上
    const fileReader = new FileReader();
    fileReader.readAsDataURL(file);
    fileReader.onload = () => {
        const contents = fileReader.result;
        fileContent.innerHTML = `
            <p>文件名:${fileName}</p>
            <p>扩展名:${extension}</p>
            <p>内容:</p>
            <img src="${contents}" alt="${fileName}">
        `;
    }
});

示例2:将文件以文本形式保存在浏览器本地存储中

const fileInput = document.querySelector('input[type="file"]');
const fileContent = document.getElementById('file-contents'); 

fileInput.addEventListener('change', (event) => {
    const file = event.target.files[0]; // 获取选择的文件
    const fileName = file.name; // 文件名
    const extension = fileName.split('.').pop(); // 扩展名

    // 读取文件内容并以文本形式保存在浏览器本地存储中
    const fileReader = new FileReader();
    fileReader.readAsText(file);
    fileReader.onload = () => {
        const contents = fileReader.result;
        localStorage.setItem(fileName, contents); // 保存在localStorage中
        fileContent.innerHTML = `
            <p>文件名:${fileName}</p>
            <p>扩展名:${extension}</p>
            <p>内容:</p>
            <pre>${contents}</pre>
        `;
    }
});

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现浏览本地文件并显示扩展名的方法 - Python技术站

(0)
上一篇 4天前
下一篇 4天前

相关文章

  • JavaScript实现动态数字时钟

    下面我来给您详细讲解一下“JavaScript实现动态数字时钟”的完整攻略。 准备工作 在编写代码之前需要先准备好相关的HTML、CSS和JavaScript文件。 首先需要在HTML文件中建立一个<div>标签,用来显示时钟的数字,同时还需要引用CSS文件。 为了让时钟数字动起来,我们需要在JavaScript文件中编写定时器,定时更新显示的数…

    JavaScript 4天前
    00
  • js日历相关函数使用详解

    JS日历相关函数使用详解 背景 很多网站需要使用日历组件来提供日期输入的功能。而JavaScript日历组件则是一种极为常见和方便的实现方式。本篇文章将介绍如何使用JavaScript实现一个日历组件,并详细介绍日历组件相关的核心函数。 实现 HTML结构 在HTML结构中,我们需要一个用于显示日期的input元素和一个用于显示日历的div元素。示例代码如下…

    JavaScript 4天前
    00
  • 通过Javascript读取本地Excel文件内容的代码示例

    要通过Javascript读取本地Excel文件内容,我们可以使用以下步骤: 创建一个input元素,设置它的type属性为file,并将它添加到HTML页面中。 当用户选择Excel文件后,我们可以通过Javascript获取到该文件,可以使用FileReader对象将文件读取为二进制数据。 将二进制数据转换为Uint8Array类型的数组,并使用XLSX…

    JavaScript 4天前
    00
  • JavaScript switch case

    JavaScript switch case语句是一种用于多个分支情况的控制流语句。它与if-else语句相似,但要更加简洁和易于阅读。通常来说,switch case可帮助开发人员避免编写过多的if-else嵌套,从而提高代码效率。 下面是JavaScript switch case的语法: switch(expression) { case value1…

    Web开发基础 2023年3月30日
    00
  • JS实用技巧实现loading加载示例详解

    JS实用技巧实现loading加载示例详解 介绍 在Web开发中,加载速度是一个很重要的问题,如果页面加载时间过长,会影响用户体验。为了优化用户体验,我们可以使用一个loading加载提示,告诉用户正在加载中,这是一个很好的交互方式。本篇文章将介绍如何使用一些JS实用技巧实现loading加载示例。 实现方式 1. 使用CSS动画实现 使用CSS动画可以实现…

    JavaScript 5天前
    00
  • JavaScript中两个字符串的匹配

    JavaScript中两个字符串的匹配,通常可以使用字符串的match()方法、search()方法和正则表达式来实现。 使用match()方法进行字符串匹配 字符串的match()方法可以将一个正则表达式与一个字符串进行匹配,并返回匹配结果。其语法如下: string.match(regexp); 其中,regexp可以是一个字符串或者正则表达式对象。下面…

    JavaScript 4天前
    00
  • JavaScript中极易出错的操作符运算总结

    JavaScript中极易出错的操作符运算总结 在JavaScript编程中,操作符运算是非常常见的。但是,可能会有一些操作符运算容易出错,导致程序行为不符合预期。因此,我们需要了解并避免这些错误。 1. 严格相等运算符 在JavaScript中,使用双等号==进行非严格相等判断时,会发生隐式数据类型转换,可能会导致预期之外的结果。因此,在进行相等比较时,我…

    JavaScript 3天前
    00
  • 你不一定知道的关于JavaScript的正则表达式

    你不一定知道的关于JavaScript的正则表达式 在JavaScript中,正则表达式(Regular Expression)是处理字符串的一个强大的工具,我们可以通过正则表达式来匹配、查找、替换字符串。但是,你可能不知道JavaScript中正则表达式的许多细节和技巧,下面我们来一一介绍。 正则表达式基本语法 正则表达式是由字符和操作符组成的,比如: /…

    JavaScript 3天前
    00
  • js异常捕获方法介绍

    接下来我将为您详细讲解“js异常捕获方法介绍”的完整攻略。 一、前言 在 Javascript 的开发中,我们难免会遇到一些错误,比如语法错误、逻辑错误、运行时错误等等。这些错误会导致代码执行的中断,并且在控制台上输出相应的错误信息,从而影响使用体验。为了提高网站的稳定性和用户体验,我们需要在代码中加入异常捕获机制来处理这些错误。 二、常见的异常捕获方法 1…

    JavaScript 3天前
    00
  • JS前向后瞻正则表达式定义与用法示例

    下面是JS前向后瞻正则表达式定义与用法示例的完整攻略: 定义 正则表达式是指一些用来匹配和处理文本的模式,前向后瞻正则表达式(Lookahead)是其中的一种类型。它是一种零宽度断言模式,它用于匹配紧接着某个子表达式(即“前提条件”)的位置,而不匹配该子表达式本身。 前向后瞻正则表达式由(?=或(?<=开头,后面跟着一个子表达式和一个右圆括号),这个子…

    JavaScript 3天前
    00