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)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js实现动态添加上传文件页面

    实现动态添加上传文件页面,可以通过以下几个步骤完成: HTML部分 首先,在HTML文件中,提供一个用于点击后触发上传文件对话框的按钮,并准备一个div容器,用于动态添加上传文件表单: <button id="addFileBtn">添加上传文件</button> <div id="fileForm…

    JavaScript 2023年5月27日
    00
  • 微信小程序实现底部弹出框

    微信小程序实现底部弹出框的方法有多种,其中较为简便的一种是利用wepy-ui组件库中的popup组件来实现。wepy-ui是一套专为wepy框架打造的组件库,若使用其他框架或原生小程序不适用。以下是具体步骤: 1. 安装wepy-ui 使用wepy-ui组件库之前必须要先安装,可以通过npm命令安装: npm i wepy-ui -S 2. 引入popup组…

    JavaScript 2023年6月11日
    00
  • JavaScript 图像动画的小demo

    让我来详细讲解一下“JavaScript 图像动画的小demo”的完整攻略。 1. 设计思路 通过 Canvas 创建动画效果,可以将图形动态地展示到网页上。这个小demo的设计思路就是以一只小乌龟为例,讲解如何使用 Canvas 创建动画效果。主要有以下几个步骤: 创建 Canvas 元素 获取 Canvas 画布的上下文 加载乌龟图片资源 设置画布宽高和…

    JavaScript 2023年6月10日
    00
  • js格式化时间小结

    JS 格式化时间小结 格式化时间是前端开发经常会遇到的问题之一,不同场景下需要展现的时间格式也会有所不同。在JavaScript中,我们可以使用内置的Date对象和一些方法来格式化时间。 获取当前时间 使用内置的Date对象可以获得当前时间。比如以下代码: const now = new Date(); 格式化时间 toLocaleDateString() …

    JavaScript 2023年5月27日
    00
  • JavaScript使用类似break机制中断forEach循环的方法

    在JavaScript中,一般使用forEach()方法对数组进行遍历操作。但是,如果在遍历过程中需要中断循环,类似于break操作,可以采用如下几种方式: 方式一:使用some()方法 some()方法会在数组中至少找到一个满足条件的元素时直接返回true,并中断遍历,否则返回false。因此,可以利用some()方法来达到中断forEach()循环的效果…

    JavaScript 2023年5月28日
    00
  • vue3.0+vant3.0快速搭建项目的实现

    下面就是“vue3.0+vant3.0快速搭建项目的实现”的完整攻略: 简介 在新版Vue和Vant的配合下,搭建高质量的移动端Web应用变得更加容易和快捷。接下来,我们将向您介绍如何使用Vue3.0和Vant3.0快速搭建项目。 准备工作 在开始之前,您需要确保您的电脑上已经安装了Node.js和Vue CLI。由于本攻略假设您已经对Vue CLI和Van…

    JavaScript 2023年6月11日
    00
  • JS常见问题整理(持续更新)

    下面是对“JS常见问题整理(持续更新)”的详细攻略: 一、文档结构 这篇文档是一篇基于 Markdown 格式编写的文档,采用了 h1 到 h3 级别的标题,并且使用了无序列表与有序列表来展示内容。文档采用了代码块、引用块等标记来增加阅读体验。 二、常见问题分类 在这份文档中,常见的问题被分为以下几类: JS 数据类型与数据类型转换 JS 函数 JS 对象 …

    JavaScript 2023年5月18日
    00
  • javascript实现简单页面倒计时

    下面是关于“javascript实现简单页面倒计时”的完整攻略。 1. 倒计时的基本概念 倒计时(Countdown)是指从一个固定时间向后计数,时间到了则触发一些既定事件的过程。在网页开发中,常见的用途包括限时抢购、秒杀活动、节假日倒计时等。 2. 倒计时的实现步骤 实现一个简单的倒计时,需要进行以下几个步骤: 2.1 计算时间差 首先,我们需要确定两个固…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部