位置: 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基础网页)

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

  • 公司废料收入如何分配
  • 培训费计入办公会计科目吗?
  • 垃圾袋发票类别是什么
  • 贴现利息应计入什么费用
  • 个体工商户定期定额核定
  • 开票个人账户的钱怎么查
  • 递延收益负债类科目
  • 救护车能随便买吗
  • 原材料出现贷方余额
  • 以公允价值计量且变动计入其他综合
  • 物业费能开公司名称吗
  • 五证一户什么意思
  • 铝合金失效分析案例
  • 集团企业涉税需求网络
  • 费用结转到本年利润是手动还自动结转?
  • 公司0转让要交哪些税
  • 销售返点的账务处理及税务处理
  • 模板摊销率
  • 存货中的生产成本是指
  • 个人所得税的征收
  • 为什么Win7电脑开机时会卡在
  • 建筑业销项税和进项税计算
  • 融资租赁货车
  • 鸿蒙系统支持第三方相机吗
  • PHP:mb_regex_encoding()的用法_mbstring函数
  • php 字符串
  • 7zip怎么压缩文件为rar
  • 企业购入旧设备怎么入账
  • php事物
  • php 提交表单
  • vue3.0实战项目
  • web2.0核心
  • PHP模拟http请求的方法详解
  • 什么叫存量比率
  • 工程质保金可以不退吗
  • 哪些税费需要计提
  • phpcms使用教程
  • 资产负债表中其他应收款的计算公式
  • sql 集合运算符
  • 公司章程在工商局盖章需要什么
  • 个体户怎么开对公账户
  • 股权和出资的关系
  • 投标代理费如何入账
  • 公司做账开票是什么意思
  • 销售部门招待费用预算
  • 归还银行贷款利息计入
  • 汽车行业的保险返点怎么算
  • 个人承担社保如何办理
  • 公司章程上的出资额怎么填
  • 逾期未缴税款法律依据
  • 其他应收款包括哪些会计科目
  • 缴纳工会经费如何记账
  • sqlserver1053怎么解决
  • sqlserver怎么用sql创建表
  • mysql内网访问
  • sqlserver数据库怎么导出
  • win10自带的音乐播放器groove如何设置
  • quicklook预览word
  • freebsd中文手册
  • win10电脑无权限访问文件怎么解除
  • WinMX.exe - WinMX是什么进程
  • linux操作系统常用操作命令
  • Linux Mint Cinnamon中安装MATE桌面详细步骤
  • windows7 dns
  • 炉石传说用什么开发的
  • android模块开发
  • 爬虫 python
  • perl keys
  • 背包设备
  • html&js+前端
  • js类继承的几种方式
  • nodejs mocha
  • 批处理替换文件
  • unity3d官方教程
  • js实现返回顶部
  • android studio 无法解析 aar
  • 购买方销售方什么意思
  • 如何运用投资组合理论
  • 云旅游存在的问题及解决措施
  • 地税纳税申报表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设