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

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

  • 支付给员工的工资属于什么科目
  • 转登记纳税人按规定再次登记为一般纳税人后
  • 增值税销项税额账务处理
  • 运输开票的税点是多少
  • 什么时候确认应收股利
  • 去年开的专票今年可以作废吗
  • 纳税申报 财务报表利润表
  • 现金流量科目怎么选择
  • 预缴的增值税怎么算
  • 房地产会计预收账款明细科目
  • 网上代购收取手机费吗
  • 行政单位会计核算采用
  • 委托加工模具的费用计入什么科目?
  • 发票认证抵扣了还能冲红么
  • 核定征收所得税税率
  • 物业费增值税是什么税
  • 建筑业增值税税率11变为10
  • 政府机关开票是普票还是专票
  • 增值税税负最终由谁承担
  • 补缴企业所得税汇算清缴会计分录怎么做
  • 企业以货币形式取得的收入
  • 企业为职工负担的个人所得税是什么意思
  • 订购维修设备零件怎么做账?
  • 个人劳务费增值税税率是多少2023
  • 三证合一后的税务登记证查询方法
  • 无票费用 规定
  • Laravle eloquent 多对多模型关联实例详解
  • html前端技术
  • windows待机密码
  • 代理买卖证券款是经纪业务费用吗
  • 贸易公司出口退税政策最新
  • php调用soap
  • chrome谷歌浏览器
  • 中文最早出现的时期
  • 全资子公司取得注册证可以免临床
  • 亚美尼亚格加尔德修道院
  • 职工薪酬纳税调整明细表怎么填写
  • ntpdate 命令
  • 因质量原因退货和召回的产品,均应按照规定
  • 个人股东借款给公司涉及个税么
  • 三代手续费支付申请表怎么填
  • sql server 视图排序
  • mysql主从配置详解
  • 企业信用公示的时候医疗和生育怎么分开计算
  • 交易性金融资产公允价值变动怎么算
  • 存货报废进项税转出分录
  • 制单和审单的依据是什么
  • 租赁期间因占有、使用租赁物获得的收益
  • 前期物业管理阶段的工作有哪些
  • 收到残保金退税现金流
  • 贷款减值准备如何计算
  • 员工意外险税前扣除比例
  • 2021年税控盘收费
  • 工程中标费用放哪个科目
  • 办公费项目内容
  • 事业单位固定资产入账标准最新规定
  • 货拉拉平台收取费用
  • 其他应付款是否能大于收入
  • 公众责任险作用
  • 软件属于无形资产什么类别
  • sql server 字符串操作
  • 神州战神bios怎么进
  • 电脑太慢了怎么解决
  • winxp如何删除网卡驱动
  • mac自带系统检测软件怎么用
  • gnaupdaemon.exe是什么
  • linux设置服务器ip地址
  • win7关掉wifi
  • Unity3D中Javascript的基本使用与介绍详解
  • opengl基础知识噪声名词解释
  • vue 全局状态
  • JavaScript 事件对象介绍
  • 如何使用jquery设置一个属性值
  • Javascript this 关键字 详解
  • 搞农业种植
  • 郑州二套房契税征收2023标准是多少
  • 个人彩票收入属什么类别
  • 北京西城区税务所
  • 国税局巡察整改方案
  • 青岛工商全程电子化
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设