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

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

  • 工会筹备金的计税依据是应发工资还是实发工资
  • 企业转出多交增值税吗
  • 个人开不动产租赁发票税率
  • 主营业务收入净额在利润表里怎么看
  • 小规模纳税人如何转一般纳税人
  • 小规模纳税人企业所得税怎么计算
  • 金税四期对个人所得税的影响
  • 公司车维修费
  • 普通发票有没有有效期
  • 房产税从租计征的税率是12%还是4%
  • 企业给员工发放最低生活保障
  • 纳税人开具发票服务卡到期限了怎么办?
  • 双薪制工资如何缴纳个人所得税?
  • 营改增劳务派遣
  • 国税发2005 9号 税屋
  • 个人所得税中薪资与实际工资有什么差别
  • 公司办事处人员配置标准最新
  • 总公司资金转入私人账户
  • 客户转钱到公司怎么说
  • 合伙企业财产的管理和使用规定
  • 财政拨款收入是指行政单位从哪里取得的预算资金
  • 定金算营业收入吗
  • 任务栏音量图标点击无反应
  • qq登录界面的设计与实现
  • linux的grep命令使用
  • 业绩补偿是什么意思
  • ts与vue3.0
  • 大群的芒基蝠鲼跃出水面,墨西哥加利福尼亚湾 (© Mark Carwardine/Minden Pictures)
  • 企业所得税的缴费基数
  • 巴塞罗那城市布局
  • 如何使用php写一个网页
  • 递延收益会计科目的账务处理
  • runas命令详解
  • 本年利润是净利润吗
  • 库存商品用于研发要进项税额转出吗
  • 所得税多交了不退会不会来查账
  • wordpress账号密码忘记了
  • python模块的扩展名
  • 接待客户的住宿费发票是开谁的
  • 在建工程转入固定资产怎么做
  • 套期保值是什么意思举个例子
  • sql 分组排名
  • 应收账款的账龄怎么分析
  • 金税四期来了我们前期要准备什么
  • 短期借款的核算
  • 去年多计提工资今年怎么进行损益调整
  • 哪些发票不能用
  • 个人独资企业缴纳社保享受优惠么
  • 政府补贴项目需要审批吗
  • 企业营业利润率怎么算
  • 结算本月职工工资,其中生产甲产品
  • 自然人系统如何恢复数据
  • 银行存款日记账怎么记账
  • 企业零申报要报哪些税
  • 红字发票是怎么开的
  • 购买商品或服务不给开发票违法吗
  • mysql数据查询慢
  • 系统盘如何重装
  • winload是什么
  • centos6 service
  • 苹果14pro max价格
  • Fatal server error: could not open 无法进图形界面的解决办法
  • xp电脑开机自检怎么取消
  • linux 硬盘满了
  • 如何输入密钥上网
  • win10怎么添加打印机
  • windows 7中,执行应用程序的方法有哪几种?
  • redhat linux 7.2系统安装详细过程
  • perl中$_
  • opengl入门视频教程
  • js上传文件到后端
  • 如何用jquery
  • jQuery 选择同时包含两个class的元素的实现方法
  • 企业分期收款销售商品,即商品已经交付
  • 关于工龄认定的司法解释
  • 国地税机构改革方案
  • ukey证书初始密码
  • 加拿大移民知乎
  • 如何建立内部控制缺陷认定的定型标准和定量标准
  • 辽宁省医保明细查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设