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

yizhihongxing

要实现浏览本地文件并显示扩展名的方法,需要使用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日

相关文章

  • JavaScript高级之自定义异常

    JavaScript高级之自定义异常 在JavaScript中,异常是非常常见的一种错误处理方式。当出现异常时,程序会立即停止继续执行,并跳转到异常处理器。JavaScript语言本身已经提供了一些内置的异常类型,例如TypeError、ReferenceError等等,但是,在某些特定情况下,你需要自定义异常类型以更好地处理代码中的错误,这时候自定义异常类…

    JavaScript 2023年5月18日
    00
  • Javascript RegExp multiline 属性

    JavaScript RegExp的multiline属性 JavaScript的RegExp对象中的multiline属性是一个布尔值,表示正则表达式是否具有多行标志m。当multiline属性为true,正则表达式将匹配多行文本。 语法 multiline属性的语法如下: RegExp.multiline 示例1:使用multiline属性匹配多行文本 …

    JavaScript 2023年5月11日
    00
  • JavaScript this指向绑定方式及不适用情况详解

    JavaScript this指向绑定方式及不适用情况详解 在JavaScript中,this指向非常重要。它在不同的上下文环境中有不同的绑定方式。本篇文章将详细介绍this指向的各种绑定方式,以及this指向不适用的情况。 this的绑定方式 全局上下文中的this 在全局上下文中,this指向全局对象(如浏览器中的 window),因为函数的定义是在全局…

    JavaScript 2023年6月10日
    00
  • 如何利用Proxy更优雅地处理异常详解

    下面是详细讲解“如何利用Proxy更优雅地处理异常详解”的完整攻略: 标题 如何利用Proxy更优雅地处理异常详解 简介 异常处理是我们编写代码时必须考虑的问题之一。但是,常规的异常处理机制给代码本身带来的负担较高,特别是对于网络请求这种IO密集型的操作。在这种情况下,我们可以考虑使用Proxy来更优雅地处理异常,将异常的处理逻辑与代码解耦,实现更加灵活的控…

    JavaScript 2023年5月28日
    00
  • javascript:history.go()和History.back()的区别及应用

    下面是“javascript:history.go()和History.back()的区别及应用”的完整攻略。 什么是history.go()和history.back()? history.go()和history.back()是JavaScript中操作浏览器历史记录的方法,它们都属于浏览器对象的一部分,即window.history对象。其中,hist…

    JavaScript 2023年6月11日
    00
  • js将URL网址转为16进制加密与解密函数

    下面就是“js将URL网址转为16进制加密与解密”的完整攻略: 1. 前置知识 在开始本攻略前,需要你掌握以下两个方面的知识: JavaScript基础语法:至少需要懂基本的变量声明、流程控制等语法。 URL编码和解码:需要了解URL编码和解码的原理及JavaScript中对应的方法。 2. 加密函数实现 下面给出一个将URL网址转为16进制加密的函数实现:…

    JavaScript 2023年5月19日
    00
  • iOS基于CATransition实现翻页、旋转等动画效果

    下面我将详细讲解如何使用iOS的CATransition实现翻页、旋转等动画效果。 1. 简介 iOS的CATransition动画是一种Core Animation库提供的、基于图层的动画,它可以实现一些非常酷炫的动画效果,包括翻页、旋转、淡入淡出等效果。 2. 实现方法 在iOS中,使用CATransition动画非常简单,只需要按照以下步骤操作: 2.…

    JavaScript 2023年5月28日
    00
  • Ajax实现搜索引擎自动补全功能

    实现搜索引擎自动补全功能的一种方式是通过Ajax技术来异步获取匹配结果,并动态更新在页面上。 以下是具体步骤: 1. 构建搜索表单 构建一个包含搜索框的表单,需要设置一个 input 元素的 id 为 search,表示搜索输入框。 <form> <input type="text" id="search&qu…

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