input type=file 获取选择文件名称、路径方法及input上传按钮美化

2023-11-19

获取文件名

        document.getElementById('upload').files[0].name;

获取文件路径

        document.getElementById('upload').value;

页面效果

在这里插入图片描述

原生代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <span>文件名:</span>
    <input type="text" id="doc">
    <button>选择文件</button>
    <input type="file" id="upload" onchange="getFile(value)"
    style="opacity: 0.5; margin-left: -74px; width: 74px;"> 
</body>
</html>
<script>
    function getFile(value){
        // 获取文本框dom
        var doc = document.getElementById('doc');
        // 获取上传控件dom
        var upload = document.getElementById('upload');
        // 获取文件名
        var fileName = upload.files[0].name;
        // 获取文件路径
        var filePath = upload.value;
        // 将文件名载入文本框
        doc.value = fileName;

        console.log(fileName);
        console.log(filePath);
    }
</script>

vue代码

<template>
  <div>
    <span>文件名:</span>
    <input type="text" ref="filePath">
    <button>选择文件</button>
    <input type="file" ref="upload"
      name="file" class="upload"
      @change="getFileNameToText" multiple="multiplt"
    />
  </div>
</template>
<script>
export default {
  methods: {
    getFileNameToText() {
      // 获取上传控件dom
      var fileObj = this.$refs['upload'];
      // 获取文件名
      var fileName = fileObj.files[0].name;
      // 获取文件路径
      var filePath = fileObj.value;
      // 将文件名载入文本框
      this.$refs['filePath'].value = fileName;

      console.log(fileName, 'fileName');
      console.log(filePath, 'filePath');
    }
  },
};
</script>
<style scoped>
.upload {
  opacity: 0;
  width: 74px;
  margin-left: -74px;
}
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

input type=file 获取选择文件名称、路径方法及input上传按钮美化 的相关文章

随机推荐

  • 区块链技术及应用概述

    一 基本概念 什么是区块链 区块链是一种以密码学方式保证的不可篡改和不可伪造的分布式账本 关键特点 去中心化 不可篡改性 匿名性 安全可信 区块链架构 1 数据层 主要描述区块链系统的物理形式 它是从Genesis区块开始的区块链链结构 包
  • Java学习笔记11

    API与String 什么是API String String的构造方法 String对象的特点 字符串的比较 获取字符串的字符 什么是API api是application programming interface 应用程序编程接口 S
  • AD20 如何更改标题栏?Altium Designer20 实用技巧系列教程(二)

    AD20 如何更改标题栏 Altium Designer20 实用技巧系列教程 二 视频地址 https www bilibili com video BV1kf4y117TH
  • C语言程序环境剖析——探究从.c到.exe之路

    程序环境 1 程序的翻译环境和执行环境 2 详解编译 链接 2 1 翻译环境 2 2 编译的三部分 预编译 编译 汇编 2 3链接 3 运行环境 1 程序的翻译环境和执行环境 在ANSI C的任何一种实现中 都存在两个不同的环境 翻译环境
  • JavaWeb —— AJAX

    目录 AJAX 基本介绍 A synchronous JavaScript And XML 多用在 1浏览器搜索联想 2用户注册中离开光标 校验数据的正确性 同步和异步的区别 AJAX快速入门 AJAX 基本介绍 A synchronous
  • Manjaro deepin 睡眠后无法唤醒

    最近尝试换了新的桌面 之前是xfce 使用deepin感觉很棒 也很好看 但是遇到下面一个问题 问题 因为我是双系统 因此经常会来回切win linux 但是发现换了deepin桌面后睡眠无法使用了 经常一睡就凉咯 无法唤醒 经过查找问题
  • Activity的四种启动模式和应用场景

    Activity的四种启动模式和应用场景 简介 通过设置ActivityManifestActivity launchMode可以设置Activity的启动模式 默认情况下 使用启动模式 standard 同时 launchMode可以通过
  • 算法编程6:连续子数组的最大和

    问题描述 输入一个整型数组 数组中的一个或连续多个整数组成一个子数组 求所有子数组的和的最大值 要求时间复杂度为O n 示例 输入 nums 2 1 3 4 1 2 1 5 4 输出 6 解释 连续子数组 4 1 2 1 的和最大 为 6
  • CentOS的Linux系统安装docker

    docker的官方网站教程 https docs docker com engine install centos prerequisites 参照官方教程 安装了 yum install y yum utils 搜索其他教程都安装了 yu
  • 字节流、字节流、转换流、打印流

    字节流 字节流 转换流 打印流 一 字符流 概述 字符流只能操作有文字的文件 纯文本文件 字符流的操作原理 字符输入流 先把字节从文件中读取出来 使用的字节流读的 根据文件的编码集把字节数变为对应的字符 把字符 读到内存中 解码的过程 字符
  • react组件状态同步-状态提升

    假设定义组件TemperatureInputSon import React from react class TemperatureInputSon extends React Component constructor props su
  • Linux安装部署Tomcat服务器

    Tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器 属于轻量级应用服务器 在中小型系统和并发访问用户不是很多的场合下被普遍使用 是开发和调试JSP 程序的首选 对于一个初学者来说 可以这样认为 当在一台机器上配置好
  • 【MATLAB第19期】基于贝叶斯Bayes算法优化CNN-LSTM长短期记忆网络的单列时间序列模型及多输入单输出回归预测模型

    基于贝叶斯Bayes算法优化CNN LSTM长短期记忆网络的单列时间序列模型及多输入单输出回归预测模型 前言 前面在 MATLAB第8期 讲解了基于贝叶斯Bayes算法优化LSTM长短期记忆网络的时间序列预测模型 即单输入数据时间序列预测
  • 从“玩枪”到“玩键盘”,退伍军人到程序员的华丽转型

    前言 我的生活平淡无奇 甚至可以说毫无希望 如果你了解我以前的生活 再看到我现在的境况 一定会惊讶 为什么一个人的变化会如此之大 叛逆 事情要从上学时候说起 我从小就是一个叛逆的孩子 贪玩 不爱学习 喜欢 舞枪弄棒 所以在学校的成绩一直都不
  • win10下安装vivado 2018.3之后ise14.7 的impact 无法使用

    软件版本号 操作系统win10 ise14 7 vivado 2018 3 ise14 7 在win10里面问题总结 1 ise14 7 闪退问题 比较好解决 论坛上比较多的解决方法 2 ise 14 7 windows 10 版本的ise
  • Extjs ToolBar动态更改图标

    使用setIconClass方法 Ext getCmp javaEye setIconClass javaEyeCss 其中 javaEye 是toolbar里的一个图标项 javaEyeCss 是css里定义的一个样式 形如 javaEy
  • PHP实现简易版区块链

  • 通过wireshark抓取telnet登陆密码

    笔者学校有一台设备 ip地址是 192 168 84 10 先打开wireshark捕获无线网卡 使用telnet登陆如图所示 按下回车 笔者这里输入的密码是 A603 现在回到wireshark停止抓包 并且在filter处输入如下的过滤
  • 将uboot,kernel,rootfs下载到开发板上

    1 为什么要下载 所谓下载 也称烧录 部署 1 1 什么是u boot Hi3518EV200 单板的 Bootloader 采用 U boot u boot是一种普遍用于嵌入式系统中的Bootloader Bootloader是在操作系统
  • input type=file 获取选择文件名称、路径方法及input上传按钮美化

    获取文件名 document getElementById upload files 0 name 获取文件路径 document getElementById upload value 页面效果 原生代码