位置: IT常识 - 正文

vue实现文件上传(vue实现文件上传和下载)

编辑:rootadmin
vue实现文件上传

推荐整理分享vue实现文件上传(vue实现文件上传和下载),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue实现文件上传,兼容IE,vue实现文件上传和下载页面,vue文件上传和下载,vue文件上传组件,vue文件上传组件,vue实现文件上传和下载页面,vue文件上传功能,vue实现文件上传,兼容IE,内容如对您有帮助,希望把文章链接给更多的朋友!

这里使用的是vue2,ui用的是element ui ,后期有时间会更新vue3版本的。

前端文件上传使用的是ui框架中的Upload的图片列表缩略图,喜欢别的样式可以直接更改。

看图注

fileChange():方法可以直接获取到上传文件的状态及可以直接拿到图片的值可以新建一个数组直接存储即可

因为文件类型都是以FormData类型存储的,就比如你正常的数组类型就应该是Arr类型一样的,将图片存储到FormData中,若你是多个图片上传直接使用forEach即可。

vue实现文件上传(vue实现文件上传和下载)

axios的使用这里就不做强调了,直接官网看实例就好了。

因为这个demo使用的是前后端分离的方式,所以我这里用的后端是.net6的这里也顺带讲一下吧

先创建一个实体存储文件、路径、扩展名

新建一个逻辑类

public async Task<string> UplodAsync(UpdoadDto updoad){//标记是否有未上传的文件int x = 0;//存储未成功的文件名var fileName = "";string[] arr = new string[updoad.file.Count];//如果当前存储地址不存在则创建if (!Directory.Exists(updoad.savePath)){Directory.CreateDirectory(updoad.savePath);}//如果没有文件直接返回if (updoad.file.Count==0){return "请选择需要上传的文件";}for (int i = 0; i < updoad.file.Count; i++){//获取文件扩展名var filetype = Path.GetExtension(updoad.file[i].FileName);//当前给定的文件扩展名里没有包含上传的文件扩展名if (updoad.filetype.IndexOf(filetype.ToLower())<-1){return "未包含该文件类型,请重新上传";}//判断文件大小var length = updoad.file[i].Length;if (length > Convert.ToInt64(this.configuration["MaxFileSize"])){arr[i] = updoad.file[i].FileName;continue;}x++;//存储文件Hash名,防止文件重复上传var hash = SHA1.Create();//读取文件的请求流var hashBytes = hash.ComputeHash(updoad.file[i].OpenReadStream());var saveName = BitConverter.ToString(hashBytes).Replace("-", "") + filetype;FileInfo fileInfo = new FileInfo(updoad.savePath + saveName);//若文件不存在则开始创建if (!fileInfo.Exists){using FileStream fs = File.Create(updoad.savePath + saveName);updoad.file[i].CopyTo(fs);fs.Flush();}}fileName = string.Join(",", arr);if (x != updoad.file.Count){fileName = fileName.TrimStart(',');fileName = fileName.TrimEnd(',');return "文件名为:" + fileName + "超出";}return "上传成功";}

1、我这里选择的是新建一个接口然后依赖注入一下,如果不想太麻烦可以直接new()出来。

注入好以后新建一个API控制代码如下:

[HttpPost]public async Task<string> UpdoadAsync([FromForm] UpdoadDto updoad){//物理地址,如果拿到源码直接更改成自己电脑的本地路径即可updoad.savePath = @"D:\测试上传图片\";//可以上传的类型updoad.filetype = ".gif|.jpg|.jpeg|.png|.webp";return await _uploadFile.UplodAsync(updoad);}

这样就完成了一个简单的多文件上传,当然一定要记得配跨域哦!

大神勿喷!!

需要前后端源码的可以直接私信我

本文链接地址:https://www.jiuchutong.com/zhishi/299345.html 转载请保留说明!

上一篇:Web网页基于html、CSS设计——“爱家居”素材(html基础网页)

下一篇:机器学习:基于逻辑回归对优惠券使用情况预测分析

  • 小规模纳税人开专票税率是1%还是3%
  • 差额纳税的税率
  • 10万以内免征增值税怎么做账
  • 给离退休人员发的短信
  • 个税申报人员报送成功怎么删除
  • 分包从属总包选择简易计税可以吗
  • 个税申报 两种方式
  • 每股未分配利润是什么意思
  • 工商银行特色贷款
  • 小企业会计准则和一般企业会计准则的区别
  • 资产损失税前扣除管理办法
  • 租出非专利技术的摊销额会导致营业利润减少吗
  • 采购是进项还是销项
  • 基金申购费有下限吗
  • 购买的风机如何做分录
  • 预付账款下月做什么科目
  • 新公司前几个月发工资
  • 让渡资产使用权是指资产的所有者将
  • 拓展培训费如何开票
  • 地税局开票需要什么资料
  • 个体经营户如何开电子发票
  • 工程服务税收的分类
  • 非盈利组织一般纳税人应交的税
  • 定期定额个体工商户个人所得税
  • 有产权车位转让需要什么手续和费用
  • 优化技巧
  • 应收账款挂账要开票吗
  • 社保显示已录入什么意思
  • 加计扣除农产品进项税额
  • 财政给企业的补助资金企业是否需要开发票
  • 支付境外服务费税务如何处理
  • 纳税人可以是自然人吗
  • 增值税系统技术维护费需要勾选吗
  • 危险废物处置是冶金行业吗
  • qq助手有什么用处
  • 苹果6splus怎么操作技巧
  • win10电脑如何设置锁屏时间
  • php中实现文件的上传需要使用哪个全局变量
  • linux1970
  • 微博怎么变成大v
  • 会计的科类
  • 顺流交易逆流交易区别
  • 员工多交的个人社保
  • 专票退税是什么意思
  • MySQL分表和分区最佳攻略
  • 非本公司员工能上班吗
  • 织梦安装完要删除哪个文件
  • 费用报销单里的类别怎么填
  • 一般纳税人购进免税农产品如何抵扣进项税额
  • 收到广告费分录
  • 持有至到期投资是债权投资吗
  • 招待费的增值税怎么算
  • 合伙企业对外投资收益怎么纳税
  • 跨年的管理费用可以直接冲吗
  • 常见开具发票错误详解是?
  • 手写账目表格怎么做
  • 什么情况下要暂扣驾驶证
  • 苗木免税发票可以开专票吗
  • 什么是折旧费
  • 存货总账根据什么填列
  • wermgr.exe是什么进程
  • linux mds
  • linux基本使用
  • win7文件夹选项在哪里打开
  • 怎么判断电脑windows几
  • 关闭迅雷安卓版自动更新
  • linux安装linux
  • uisrollview
  • Windows下的写字板功能是
  • android app开发中五种常用布局的运用场合
  • js函数调用函数
  • node.js安装模式选择
  • jQuery Mobile弹出框
  • activate webstorm
  • javascript字符串操作函数
  • 车辆购置税查询平台打印
  • 国家税务总局并入财政部最新消息
  • 免除滞纳金的条件
  • 电子发票查询官网入口国家税务局重庆电子税务
  • 2021房屋退税流程怎么操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设