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中this的4种绑定规则详解

    下面是对于“JS中this的4种绑定规则详解”的完整攻略: 1. 默认绑定规则 默认绑定规则是指,在函数调用时,若函数调用时调用点没有指定调用的对象,this会绑定在全局对象上,即window(在浏览器环境下)。 示例代码如下: function foo() { console.log(this.a); } var a = 2; foo(); // 输出2 …

    JavaScript 2023年6月10日
    00
  • JavaScript 对象模型 执行模型

    我来讲解一下 JavaScript 对象模型和执行模型。 JavaScript 对象模型 JavaScript 对象模型(Document Object Model,简称 DOM)是一种表现 HTML 或 XML 文档的方式,它将文档作为节点树表示。每个节点都是一个对象,由此可得到 DOM 中体现的是一种父子关系。在 JavaScript 中,可以通过访问 …

    JavaScript 2023年5月27日
    00
  • Android内存泄漏导致原因深入探究

    Android内存泄漏导致原因深入探究 什么是内存泄漏 内存泄漏指无用的对象仍然存在于内存中,导致可用内存减少,最终影响应用的性能和稳定性。 内存泄漏的原因 静态变量 静态变量被声明为全局变量,即便在Activity销毁后仍然存在于内存中,占用了可用内存。如果在静态变量中存储了Activity对象,这些对象将无法释放,导致内存泄漏。 public class…

    JavaScript 2023年6月10日
    00
  • js中日期的加减法

    关于 JS 中日期的加减法,我们可以使用内置的 Date 对象进行处理。 基本用法 Date 对象可以使用以下方式创建: const now = new Date(); const someDate = new Date(‘2022-01-01’); const someDateTime = new Date(‘2022-01-01T12:00:00Z’);…

    JavaScript 2023年5月27日
    00
  • Ajax 表单验证 实现代码

    实现 Ajax 表单验证需要用到以下步骤: 1.编写 HTML 表单 首先,我们需要编写一个含有需要验证的表单的 HTML 文件。例如,以下是一个简单的 HTML 表单: <form id="myForm" method="post" action=""> <label for=&…

    JavaScript 2023年6月10日
    00
  • 将string解析为json的几种方式小结

    让我们详细讲解一下如何将字符串解析为JSON的几种方式。 使用JSON库解析字符串 目前市面上有很多种JSON库可供选择,比如jsoncpp、rapidjson等。我们以jsoncpp为例进行讲解。 步骤一:引入头文件 #include <json/json.h> 步骤二:将字符串解析为JSON格式 std::string str = &quot…

    JavaScript 2023年5月27日
    00
  • 使用 JavaScript 进行函数式编程 (一) 翻译

    我来为您详细讲解“使用 JavaScript 进行函数式编程 (一) 翻译”的完整攻略。 标题 使用 JavaScript 进行函数式编程 (一) 翻译 简介 函数式编程(Functional Programming)是一种在编程语言中处理函数的方法。JavaScript 作为一种多范式语言,也支持函数式编程。本文将带您了解 JavaScript 中的函数式…

    JavaScript 2023年5月18日
    00
  • Vue3 将组件手动渲染到指定元素中的方法实现

    Vue3 允许将组件手动渲染到指定元素中,主要通过 createApp() 函数及 mount() 函数来实现。下面是实现该功能的具体步骤: 步骤一:创建组件 首先,需要创建一个组件,例如: <template> <div class="example-component"> <p>Hello, {{ …

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