1. 点击按钮上传文件,获取到文件名,后缀,文件大小,上传日期等

2.展现方式

3.实现方法

{{item.fileName}}
{{item.fileSize}}M {{item.fileDate}}上传

import {filesExtension} from '../clue/js/validate.js' // 这里是通过后缀名判断显示图标,不需要请移除

export default {

data() {

return {

filesList: [],

files: {

fileName: '', // 文件名

filesExtension: '', // 扩展名

fileDate: '', // 上传时间

fileSize: '', // 上传大小

fileData: '' // 文件数据

},

}

},

filters: {

filesExtension(val) {

return filesExtension(val)

}

},

methods: {

// 删除文件

delFiles(item, index) {

this.filesList.splice(index,1)

},

// 上传文件

openFile(){

this.$refs.file.click();

},

fileChange() {

let myfile = this.$refs.file

if (myfile.files[0] == undefined) {

Toast('未上传任何文件!');

} else {

var filevalue = myfile.value;

var index = filevalue.lastIndexOf('.');

this.files.fileName = myfile.files[0].name

this.files.filesExtension = filevalue.substring(index)

let date = new Date()

const Y = date.getFullYear()

let m = date.getMonth() + 1

let d = date.getDate()

let H = date.getHours()

let i = date.getMinutes()

let s = date.getSeconds()

m = m < 10 ? '0' + m : m

d = d < 10 ? '0' + d : d

H = H < 10 ? '0' + H : H

i = i < 10 ? '0' + i : i

s = s < 10 ? '0' + s : s

this.files.fileDate = Y + '-' + m + '-' + d + ' ' + H + ':' + i + ':' + s

this.files.fileSize = parseFloat(myfile.files[0].size / 1024 / 1024).toPrecision(2)

let self = this

self.getBase64(myfile.files[0]).then(res => {

let unLoadFileData = res

self.files.fileData = res.split(',')[1]

self.filesList.push({

fileName: self.files.fileName, // 文件名

filesExtension: self.files.filesExtension, // 扩展名

fileDate: self.files.fileDate, // 上传时间

fileSize: self.files.fileSize, // 上传大小

fileData: self.files.fileData

})

})

self.$emit('getFilesList', self.filesList)

}

},

getBase64(file) {

return new Promise(function(resolve, reject) {

let reader = new FileReader()

let results = ''

reader.readAsDataURL(file) // 读出 base64

reader.onload = function () {

results = reader.result

}

reader.onerror = function (error) {

reject(error)

}

reader.onloadend = function () {

resolve(results)

}

})

}

}

}

.updateFiles{

.addAnnex{

width: 80%;

padding: 11px 0;

background: #f0f0f0;

text-align: center;

font-size: 14px;

margin: 20px auto;

border:1px solid #e0e0e0;

border-radius: 5px;

}

.fileList{

width: 100%;

display: flex;

justify-content: space-between;

padding:1em;

border-bottom: 1px solid #f0f0f0;

background: #fff;

.left{

width: 80%;

display: flex;

justify-content: left;

.left-img{

width: 3em;

height: 3em;

margin-right: .5em;

display: flex;

justify-content: center;

align-items: center;

img{

display: inline-block;

width: 3em;

}

}

.left-notimg{

background: #f0f0f0;

}

.cont{

display: flex;

flex-wrap: wrap;

align-items: center;

.text{

font-size: 14px;

color: #4d4d4d;

padding-bottom: .3em;

display: flex;

justify-content: left;

flex-wrap: wrap;

}

.date{

font-size: 12px;

color: #bbb;

width: 100%;

}

}

}

.right{

width: 20%;

display: flex;

justify-content: flex-end;

align-items: center;

}

}

}

html 文件上传与移除,Vue采用input实现文件上传与删除相关推荐

  1. Vue采用input实现文件上传与删除

    2019独角兽企业重金招聘Python工程师标准>>> 1. 点击按钮上传文件,获取到文件名,后缀,文件大小,上传日期等 2.展现方式 3.实现方法 <div class=&q ...

  2. vue标签旋转_基于vue下input实现图片上传,压缩,拼接以及旋转的代码详解

    本篇文章给大家带来的内容是关于php队列的实现代码介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 作为一名前端工作人员,相信大家在开发系统的时候,经常有遇到需要这么一种需求,就是 ...

  3. angular文件上传php,Angular2里获取(input file)上传文件的内容的方法

    最近在用Angular2,需要有一个上传文件的功能,但是又不想用库,所以直接用原生的input file 标签. 然后想获取上传的内容,于是先想了个愚蠢的方法,先通过id获取到这个input标签,然后 ...

  4. vue中input获取文件路径_JS获取input file绝对路径的方法(推荐)

    最近因需要上传文件到oracle blob里, 在获取文件路径的遇到些问题,由于安全原因,新版的浏览器都不支持直接获取本地URL,在网上找了些方法,如下: //FX获取文件路径方法 function ...

  5. elementui 按钮 表单_前后端分离,文件上传下载(springBoot+vue+elementUI)

    1.介绍 本文主要是介绍前后端分离的上传下载,后端使用的是SpringBoot,持久层用的是mybatis-plus,前端用的Vue,UI用的elementUI,测试了一下,文本,图片,excel,都 ...

  6. vue上传文件到php,vue+axios+php如何实现上传文件功能?,formdata上传文件附加参数...

    vue+axios+php如何实现上传文件功能?Vue Axios PHP如何实现上传文件的功能?, 推荐:<PHP视频教程> 当我们提交表单时,我们经常会遇到一些表单提交要求.vue的a ...

  7. vue 文件及描述信息一起上传_用Vue实现一个大文件上传和断点续传

    前言 这段时间面试官都挺忙的,频频出现在博客文章标题,虽然我不是特别想蹭热度,但是实在想不到好的标题了-.-,蹭蹭就蹭蹭 :) 事实上我在面试的时候确实被问到了这个问题,而且是一道在线 coding ...

  8. Vue Bootstrap OSS 实现文件追加上传、断点续传、极速秒传

    公司实现文件上传技术选型采用后端SpringBoot/Cloud,前端vue Bootstrap ,阿里云OSS作为文件存储,大文件上传功能单独抽取封装大文件上传组件,可供所有的大文件的操作. 后端框 ...

  9. Vue Bootstrap OSS 实现文件上传

    公司实现文件上传技术选型采用后端SpringBoot/Cloud,前端vue Bootstrap ,阿里云OSS作为文件存储,文件上传功能单独抽取封装文件上传组件,可供所有的文件的操作. 后端框架 版 ...

最新文章

  1. PCL安装与环境变量配置(Win10)
  2. nyoj68三点顺序
  3. 开启注册 | AAAI 2022论文北京预讲会,21场报告+24个Poster等你来
  4. 华为云TaurusDB性能挑战赛-java赛题mvn编译时报错:不支持 diamond 运算符
  5. Mac 10.12下安装python3环境
  6. dbhelp mysql c_C++写的一个MYSQL控制台(3)
  7. 通过分析nginx的日志来过滤出访问过于频繁的IP地址,然后添加到nginx的blockip.conf,并重启nginx...
  8. java关于注释的使用错误的是,java考试练习题
  9. JAVA并发之多线程基础(3)
  10. 8)Thymeleaf 基本对象表达式
  11. java api 8 中文_java8 JDK1.8 API 中文 翻译版 java帮助文档
  12. DWORD winapi java_DWORD WINAPI?stdcall?
  13. 超实用的几款Macos/Macbook/iMac 影片剪辑软件
  14. 前沿讲座之计算机图形学
  15. OTU的定义与解读----了解笔记
  16. 使用计算机需要准备硬件和什么,2017年计算机硬件知识参考试题
  17. 计算机上的aece代表什么意思,Myristicaceae是什么意思
  18. Spring 官方文档(中文翻译)
  19. android动态壁纸2.2.1,动态壁纸选择器
  20. iOS逆向开发,突破微信强制升级,让低版本的iPhone也能正常使用

热门文章

  1. SQL:清空数据库所有数据
  2. 三层交换机配置实例及说明
  3. 理解Synchronized
  4. FileOutputStream 类 和 FileInputStream类的简单介绍,附代码演示。以及一个复制媒体文件的小程序。
  5. php 生成图片 打印,php 生成水印图片
  6. GitHu的诞生记 转 https://blog.csdn.net/fanpeihua123/article/details/58151161
  7. 通用模块 -- Dubbo 用户模块
  8. 工程师软技能3:如何学习
  9. 初学者没有搞明白的GOROOT,GOPATH,GOBIN,project目录
  10. Hadoop入门基础教程 Hadoop之服务器基础环境搭建