文件上传App,H5,小程序多端兼容

2024-04-16 13:36
文章标签 程序 app 上传 兼容 h5 多端

本文主要是介绍文件上传App,H5,小程序多端兼容,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

插件地址:https://ext.dcloud.net.cn/plugin?id=5459

下载lsj-upload插件

代码如下

结构

<lsj-upload :option="option" :size="size" :formats="formats" :debug="debug":instantly="instantly" @change="onChange" @progress="onprogress"
@uploadEnd="onuploadEnd"><button class="btn">上传合同</button>
</lsj-upload>

js

data(){return {// 上传接口参数option: {// 上传服务器地址,需要替换为你的接口地址// 该地址非真实路径,需替换为你项目自己的接口地址url: publicFun.wwwRequestUrl + "/gwiip-resource/XXX/put-file",// 上传附件的keyname: 'file',// 根据你接口需求自定义请求头,默认不要写content-type,让浏览器自适配header: {// token"Blade-Auth": publicFun.publictoken()},// 根据你接口需求自定义body参数formData: {// 'orderId': 1000}},// 文件上传大小限制size: 50,// 限制允许上传的格式,空串=不限制,默认为空formats: '',// 是否打印日志debug: true,// 选择文件后是否立即自动上传,true=选择后立即上传instantly: true,}
},
methods:{// 文件选择回调onChange(files) {// 更新选择的文件 this.files = files;// 强制更新视图this.$forceUpdate();// 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道// #ifdef MP-WEIXINthis.wxFiles = [...this.files.values()];// #endif},// 上传进度回调onprogress(item) {// 更新当前状态变化的文件this.files.set(item.name, item);// console.log('打印对象', JSON.stringify(this.files.get(item.name)));// 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道// #ifdef MP-WEIXINthis.wxFiles = [...this.files.values()];// #endif// 强制更新视图this.$forceUpdate();},// 某文件上传结束回调(成功失败都回调)onuploadEnd(item) {// console.log(`${item.name}已上传结束,上传状态=${item.type}`);// 更新当前窗口状态变化的文件this.files.set(item.name, item);// 构建接口数据let aaa = JSON.parse(item.responseText)this.contractParams.contractFileUrl = aaa.data.linkuploadContract(this.contractParams).then(res => {console.log(res);if (res.data.code == "200") {uni.showToast({icon: 'none',title: res.data.msg})} else {uni.showToast({icon: 'none',title: res.data.msg})}})// 微信小程序Map对象for循环不显示,所以转成普通数组,// 如果你用不惯Map对象,也可以像这样转普通数组,组件使用Map主要是避免反复文件去重操作// #ifdef MP-WEIXINthis.wxFiles = [...this.files.values()];// #endif// 强制更新视图this.$forceUpdate();},
}

效果如下:

这篇关于文件上传App,H5,小程序多端兼容的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/908929

相关文章

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创