移动端实现多图上传、文件上传及下载和vue多图片上传组件

简介: js+css实现手机端的多图片上传,为了方便使用,css和js都未内联,为性能建议使用时改为外联;如要用到pc端,直接去掉px转换为rem的js代码,修改单位即可;因multiple在安卓手机中不兼容,所以在安卓上只能一次选中一张图片,在iOS系统...

js+css实现手机端的多图片上传,为了方便使用,css和js都未内联,为性能建议使用时改为外联;

如要用到pc端,直接去掉px转换为rem的js代码,修改单位即可;

因multiple在安卓手机中不兼容,所以在安卓上只能一次选中一张图片,在iOS系统上可以实现多图片的上传;

一、预览图


img_0971557380a75e6f40eef9ea75753b75.gif
图片发自简书App


预览及下载地址:http://www.jq22.com/jquery-info11638

文件下载

项目中我们经常会遇到需要下载文件的功能,静态的文件资源可以使用 a 标签下载,动态的则需要我们通过 js 处理发送请求,然后将返回的url给a标签的url属性既可。

代码如下

img_8bd144b27a9cc584f86756ba25228431.png

二、文件上传

通过input 标签的 type=file来实现

img_f169b1444cbc3bbfa346763c004f29a5.png

然后通过监听change事件获取到上传文件的信息,并通过此信息向后端发送请求,存储信息。

文件上传到云服务器

1、需要引入dingding-oss文件

img_bd30e4d25daccff5c5636ccc638c5e43.png

2.在上传文件的组件中实例化OSS

img_98ba618f8c15d228b5862204b22bbdc1.png

4.通过client.multipartUpload(生成的命名空间,获取到的图片对象)函数上传到云端(此案例是一次上传一张图片的案例,当上传多张图片的时候,函数的第二个参数为当前的图片信息即fileLIst[i]对象)

img_19bcddc1592299f10e6ab8fb0176b093.png

通过window.URL.createObjectURL(上传文件信息对象)生成url链接;可以在前端展示

三、vue多图片上传组件

先看效果

img_8f0601d981f645f7453aef3c5fb34355.png

html实现:

img_85304469247fd6264db4b4ae51f2d737.png

js实现

img_2e56c1f0cf65f92b1c29007ea07def2e.png
img_c3fb4ea588ab237e7d1830f38bf30f90.png
img_181fdfa1ae0e269a2bd8c06761173fe3.png
img_67711e7366146093548dd90def64fa64.png

css实现

img_2d0ae1511868c5a09eac34da0dbe133d.png
img_8c327d8fb77c5b67e55926c262910f89.png
img_b3e79176ad186132e3c7db04e41f5559.png

用上边的vue组件上传的图片,发送给服务端的是base64格式的图片,后端经过转码之后存储。

文件的git地址:https://github.com/wangAlisa/-vue

相关文章
|
7天前
|
JavaScript
Vue中如何实现兄弟组件之间的通信
在Vue中,兄弟组件可通过父组件中转、事件总线、Vuex/Pinia或provide/inject实现通信。小型项目推荐父组件中转或事件总线,大型项目建议使用Pinia等状态管理工具,确保数据流清晰可控,避免内存泄漏。
87 2
|
3月前
|
人工智能 JavaScript 算法
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
525 0
|
2月前
|
JavaScript 安全
在 Vue 中,如何在回调函数中正确使用 this?
在 Vue 中,如何在回调函数中正确使用 this?
100 0
|
2月前
|
人工智能 JSON JavaScript
VTJ.PRO 首发 MasterGo 设计智能识别引擎,秒级生成 Vue 代码
VTJ.PRO发布「AI MasterGo设计稿识别引擎」,成为全球首个支持解析MasterGo原生JSON文件并自动生成Vue组件的AI工具。通过双引擎架构,实现设计到代码全流程自动化,效率提升300%,助力企业降本增效,引领“设计即生产”新时代。
231 1
|
存储 前端开发 JavaScript
为什么我不再用Vue,改用React?
当我走进现代前端开发行业的时候,我做了一个每位开发人员都要做的决策:选择一个合适的框架。当时正逢 jQuery 被淘汰,前端开发者们不再用它编写难看的、非结构化的老式 JavaScript 程序了。
|
3月前
|
JavaScript UED
用组件懒加载优化Vue应用性能
用组件懒加载优化Vue应用性能
|
5月前
|
JavaScript
vue实现任务周期cron表达式选择组件
vue实现任务周期cron表达式选择组件
741 4
|
4月前
|
JavaScript 数据可视化 前端开发
基于 Vue 与 D3 的可拖拽拓扑图技术方案及应用案例解析
本文介绍了基于Vue和D3实现可拖拽拓扑图的技术方案与应用实例。通过Vue构建用户界面和交互逻辑,结合D3强大的数据可视化能力,实现了力导向布局、节点拖拽、交互事件等功能。文章详细讲解了数据模型设计、拖拽功能实现、组件封装及高级扩展(如节点类型定制、连接样式优化等),并提供了性能优化方案以应对大数据量场景。最终,展示了基础网络拓扑、实时更新拓扑等应用实例,为开发者提供了一套完整的实现思路和实践经验。
531 77
|
5月前
|
缓存 JavaScript 前端开发
Vue 基础语法介绍
Vue 基础语法介绍
|
3月前
|
JavaScript 前端开发 开发者
Vue 自定义进度条组件封装及使用方法详解
这是一篇关于自定义进度条组件的使用指南和开发文档。文章详细介绍了如何在Vue项目中引入、注册并使用该组件,包括基础与高级示例。组件支持分段配置(如颜色、文本)、动画效果及超出进度提示等功能。同时提供了完整的代码实现,支持全局注册,并提出了优化建议,如主题支持、响应式设计等,帮助开发者更灵活地集成和定制进度条组件。资源链接已提供,适合前端开发者参考学习。
361 17