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

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

  • 怎样运用反向思维快速传播品牌?(逆向思维方式)

    怎样运用反向思维快速传播品牌?(逆向思维方式)

  • 网易云评论怎么抱一抱(网易云评论怎么分享到动态)

    网易云评论怎么抱一抱(网易云评论怎么分享到动态)

  • 苹果手机视频怎么重命名(苹果手机视频怎么导入电脑里面)

    苹果手机视频怎么重命名(苹果手机视频怎么导入电脑里面)

  • 三星note10为什么不支持usb(三星note10为什么下架了)

    三星note10为什么不支持usb(三星note10为什么下架了)

  • 充电口进水了对手机有什么影响(充电口进水会导致充电变慢吗)

    充电口进水了对手机有什么影响(充电口进水会导致充电变慢吗)

  • 被挂断和正在通话中的区别(被挂断和正在通话一样吗)

    被挂断和正在通话中的区别(被挂断和正在通话一样吗)

  • 1mbps有多快(手机限速1mbps有多快)

    1mbps有多快(手机限速1mbps有多快)

  • pak文件可以删除吗(pak文件可以删除么)

    pak文件可以删除吗(pak文件可以删除么)

  • ios13.4.1更新了什么(更新ios13.4.1怎么样)

    ios13.4.1更新了什么(更新ios13.4.1怎么样)

  • 手机视频听不见对方说话是怎么回事(手机视频听不见怎么回事)

    手机视频听不见对方说话是怎么回事(手机视频听不见怎么回事)

  • 淘宝退货什么时候能把钱退回来(淘宝退货什么时候退款到账)

    淘宝退货什么时候能把钱退回来(淘宝退货什么时候退款到账)

  • 小度在家录制的视频在哪里看(小度在家录制的视频在哪)

    小度在家录制的视频在哪里看(小度在家录制的视频在哪)

  • 步多多为什么不显示步数(步多多为什么步数不增加?)

    步多多为什么不显示步数(步多多为什么步数不增加?)

  • 抖音男女互相关注什么意思(抖音男女互相关注会发生什么)

    抖音男女互相关注什么意思(抖音男女互相关注会发生什么)

  • 充电器数据线三种(充电器数据线三线怎么接)

    充电器数据线三种(充电器数据线三线怎么接)

  • excel分页符怎么设置(excel分页符怎么去掉)

    excel分页符怎么设置(excel分页符怎么去掉)

  • 手机怎么一键删除qq好友(手机怎么一键删除联系人)

    手机怎么一键删除qq好友(手机怎么一键删除联系人)

  • ios怎么开闪光灯(ios手机闪光灯怎么开)

    ios怎么开闪光灯(ios手机闪光灯怎么开)

  • oppoa5死机了强制关机(oppo a5死机)

    oppoa5死机了强制关机(oppo a5死机)

  • nova5怎么插耳机(华为nova5怎么插耳机孔)

    nova5怎么插耳机(华为nova5怎么插耳机孔)

  • 微信被注销如何找回(微信被注销如何恢复信息内容)

    微信被注销如何找回(微信被注销如何恢复信息内容)

  • 小米手环有nfc吗(小米手环有nfc功能吗?)

    小米手环有nfc吗(小米手环有nfc功能吗?)

  • 电脑快捷方式怎么恢复(电脑快捷方式怎么取消掉)

    电脑快捷方式怎么恢复(电脑快捷方式怎么取消掉)

  • 钉钉如何加群(钉钉如何加群 群号)

    钉钉如何加群(钉钉如何加群 群号)

  • 苏黎世湖岸边的室外游泳池,瑞士 (© Amazing Aerial Agency/Offset by Shutterstock)(苏黎世湖天鹅)

    苏黎世湖岸边的室外游泳池,瑞士 (© Amazing Aerial Agency/Offset by Shutterstock)(苏黎世湖天鹅)

  • 【tensorflow】制作自己的数据集(tensorflow gui)

    【tensorflow】制作自己的数据集(tensorflow gui)

  • 销货方违规作废增值税专用发票怎么处理
  • 房地产开发企业预收款预缴增值税
  • 存货盘点科目
  • 摊销直线法会计分录怎么写?
  • 负债必须通过转让来清偿
  • 佣金支出和手续费税前扣除相关政策依据及会计处理
  • 投资活动购建固定资产
  • 不含税的营业收入是什么意思
  • 固定资产作为实收资本报废怎么处理
  • 新公司不核税可以吗
  • 已认证未抵扣的进项税如何报税
  • 本月出口下月开发票可以吗
  • 公司注册资本会留存多少
  • 并购重组协议样本
  • 收付实现制与权责发生制的区别
  • 地税退税怎么做分录
  • 备查账簿根据企业的实际需要设置没有固定的格式要求
  • 开票金额与收入金额有差额可以吗
  • 专用发票可以抵税是什么意思
  • 质量赔偿金 计入什么科目
  • 为什么说人与人的悲欢不相通
  • macos big sur怎么运行ios软件
  • 中秋买东西有讲究吗?
  • 苹果官网入口
  • 固定资产减值判断标准
  • php字符串赋值
  • 收到保险公司的车赔款会计分录怎么写
  • PHP:ignore_user_abort()的用法_misc函数
  • 企业公益性捐赠扣除比例
  • 交易性金融资产的入账价值
  • 建安企业所得税怎么算2.25税率
  • ipad3性价比
  • 外商投资工业企业有哪些
  • 期房如何快速卖出
  • 限售股是好是坏
  • php文件包含目录文件吗
  • php实现原理
  • 企业所得税必须要季度缴纳吗
  • 行政事业单位怎么开发票
  • php 带cookie post
  • Yii2中hasOne、hasMany及多对多关联查询的用法详解
  • ChatGPT及相关产品体验与研究
  • 人工智能导论论文2000字
  • 预缴纳税申报怎么不能保存
  • 底薪和提成分开发合法吗
  • 企业一直零申报不经营
  • python locator
  • dedecms进入数据库
  • python多线程多核
  • 工程发票多少点
  • 上期金额是本年累计金额吗
  • 准予从销项税额中扣除的有哪些
  • 报销连号发票的合理解释
  • 残保金申报常见问题
  • 低值易耗品库存
  • 事业单位收到钱怎么记账
  • 代理记账企业如何通过互联网创新发展
  • mysql 修改值
  • win7系统重启后多了一个安全启动用户
  • vc运行程序
  • winxp共享打印机win11
  • 电脑windows8怎么样
  • 调整linux时间
  • windows8使用技巧
  • win10系统误删文件怎么恢复
  • android 多个activity
  • rd命令是什么
  • pythonlist切片
  • js html css
  • Unity UIScrollView优化
  • python日志管理系统
  • 优化lr
  • shell脚本实现Linux运维监控
  • javascript核心技术
  • javascript playground
  • 运用python编写程序
  • 重庆市国家税务局电子税务局官网
  • 小规模纳税人每季度不超过30万免税
  • pageoffice控件安装不上
  • 上海长宁区多大面积
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设