移动端实现多图上传、文件上传及下载和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

相关文章
|
5天前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等
|
5天前
|
JavaScript 前端开发 API
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
92 0
|
5天前
|
人工智能 JavaScript 程序员
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
vue中内置指令v-model的作用和常见使用方法介绍以及在自定义组件上支持
15 0
|
5天前
|
JavaScript API
Vue中使用require.context()自动引入组件和自动生成路由的方法介绍
Vue中使用require.context()自动引入组件和自动生成路由的方法介绍
9 0
|
5天前
|
JavaScript
Vue组件点击事件不触发的问题,添加事件修饰符native解决
Vue组件点击事件不触发的问题,添加事件修饰符native解决
59 0
|
2天前
|
缓存 JavaScript 前端开发
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
11 3
|
4天前
|
JavaScript 前端开发 开发者
Vue v-for 进阶指南:in 与 of 的区别及应用场景 | 笔记
Vue.js 中的 v-for 是强大的遍历指令,但其中的 in 和 of 关键字往往被开发者忽视。尽管它们的用法相似,但适用的场景和数据结构却各有不同。本文将详细探讨 v-for 中 in 和 of 的区别、适用场景以及在实际开发中的最佳使用时机。通过理解它们的差异,你将能够编写更加高效、简洁的 Vue.js 代码,灵活应对各种数据结构的遍历需求。
40 6
|
2天前
|
缓存 JavaScript
Vue 中 computed 与 method 的区别
【10月更文挑战第15天】computed 和 method 是 Vue 中两个重要的选项,它们在功能和特点上存在着明显的区别。理解并合理运用它们的区别,可以帮助我们构建更高效、更具可维护性的 Vue 应用。在实际开发中,要根据具体情况灵活选择使用,以满足不同的需求。
5 2
|
2天前
|
JavaScript 搜索推荐 UED
vue的自定义指令
【10月更文挑战第14天】Vue 自定义指令为我们提供了一种强大的工具,使我们能够更灵活地控制和扩展 Vue 应用的行为。通过合理地使用自定义指令,可以提高开发效率,增强应用的功能和用户体验。
|
3天前
|
JavaScript