投票评选活动小程序v2-用户报名图片上传

news2024/9/23 23:33:37

投票评选活动小程序v2-用户自行报名收集材料页面

主要收集项目或者作品图片及其描述,可以在后台进行统一录入,也可以是在用户界面,让用户自行报名上传。

这里开发了一个“我要报名”页面,在首页点击“我要报名”按钮跳转过来。

页面布局

这里页面布局三个要素:图片上传、多行文本、提交按钮。这里不再展开叙述。

图片上传功能

在开发中,可以利用小程序云开发的云存储能力,将图片上传至云存储内。然后根据返回的fileiId来下载图片、删除图片和替换临时链接。

概述为三步:

1、获取到选择上传的图片信息的临时路径;

2、通过wx.cloud.uploadFile将本地资源上传至云存储空间;

3、返回该图片文件路径fileID,根据需要做后续的操作。

// 上传图片
uploadToCloud() {
  wx.cloud.init();
  const { fileList } = this.data;
  if (!fileList.length) {
    wx.showToast({ title: '请选择图片', icon: 'none' });
  } else {
    const uploadTasks = fileList.map((file, index) => this.uploadFilePromise(`my-photo${index}.png`, file));
    Promise.all(uploadTasks)
      .then(data => {
        wx.showToast({ title: '上传成功', icon: 'none' });
        const newFileList = data.map(item => ({ url: item.fileID }));
        this.setData({ cloudPath: data, fileList: newFileList });
      })
      .catch(e => {
        wx.showToast({ title: '上传失败', icon: 'none' });
        console.log(e);
      });
  }
}

uploadFilePromise(fileName, chooseResult) {
  return wx.cloud.uploadFile({
    cloudPath: fileName,
    filePath: chooseResult.url
  });
}

文件存储 -uploadFile

wx.cloud.uploadFile,将本地资源上传至云存储空间,如果上传至同一路径则是覆盖写。

返回值:

如果请求参数中带有 success/fail/complete 回调中的任一个,则会返回一个 UploadTask 对象,通过 UploadTask 对象可监听上传进度变化事件,以及取消上传任务。

示例代码:

wx.cloud.uploadFile({
  cloudPath: 'example.png',
  filePath: '', // 文件路径
}).then(res => {
  // get resource ID
  console.log(res.fileID)
}).catch(error => {
  // handle error
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/728131.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

精耕细作的运维资源成本管控方法-互联网企业的Finops思考与实践

当前,降本增效成为各大互联网公司的重要方向,IT成本则占据了互联网成本的大头。随着IT资源成本花费越来越高,很多公司意识到掌握管控成本和优化成本的重要性。 如何有效的降本?如何做好成本的洞察管控?如何掌握资源成…

5000字干货!让你一次搞懂什么是高保真原型

在产品设计领域,尤其是在用户体验设(UX)中,高保真原型至关重要。它是一种几乎按照产品最终的呈现模样制作出来的原型,包含产品的细节、真实的交互和完善的UI。正因为高保真原型最接近真实产品,因此成为企业…

使用Streamlit和OpenAI API构建视频摘要

本文提供了使用Streamlit和OpenAI创建的视频摘要应用程序的概述。该程序为视频的每个片段创建简洁的摘要,并总结视频的完整内容。 要运行应用程序,需要安装以下依赖项: Python(3.7或更高版本)StreamlitOpenAI API密钥llama_indexyoutube_transcript_api…

Vue3+Vite+Pinia+Naive项目搭建之二:scss 的安装和使用

前言 如果对 vue3 的语法不熟悉的,可以移步 Vue3.0 基础入门,快速入门。 1. 安装依赖 yarn add sass -D // or npm install sass -D 2. 页面样式初始化 reset.scss /* 新建 src/assets/style/reset.scss */ /* 页面样式初始化 */ html, body, div, s…

Linux VS Windows 孰优孰劣?

目录 1. 开源 vs. 闭源:2. 用户界面:3. 软件兼容性:4. 系统安全性:5. 社区支持和文档资源: Linux和Windows是两个主要的操作系统,它们在很多方面都有不同的特点和使用体验。以下是对Linux和Windows进行比较…

python_day1

单行注释规范,#号后留一空格 # 单行注释多行注释,三个单引号或三个双引号 duo hang zhu shi 赋值给变量时为字符串 n 123print(n)查看类型:type() a 111 b "111" if a b:print("true")print(a)print(type(a)) el…

Ubuntu20.04+Docker+ROS Noetic 可视化容器管理工具Portainer

1. 安装docker 官网教学安装网址:Install Docker Engine on Ubuntu | Docker Documentation 2. 安装noetic镜像 ros镜像网址 https://hub.docker.com/r/osrf/ros https://hub.docker.com/r/osrf/ros/tags sudo docker pull osrf/ros:noetic-desktop-full 3. 创…

高效提升控制效率 | 基于ACM32 MCU的LED灯箱控制器方案

前言 LED灯箱上各种文字、图案有序跳跃、交替辉映,产生强烈的视觉冲击力,被广泛应用于商场、美容美发、宾馆、娱乐场所等地方。 锁存器的工作原理 在LED和数码管显示方面,要维持一个数据的显示,往往要持续的快速的刷新。尤其…

vant省市区引入@vant/area-data官方数据报错问题解决

我们依照官方流程引入数据 yarn add vant/area-dataimport { areaList } from vant/area-data;Page({data: {areaList,}, });我们正常引入后会发现报错为 module ‘node_File/area-data/dist/data1.js’ is not defined 按照网上的vant-weapp的Area 省市区选择组件无法显示进行…

Segmentation fault (core dumped)问题解决

torch:1.10.0cu111 pandas:1.3.3 报错: 定位: df pd.DataFrame(columns[epoch, model.sigma1.cpu().detach().numpy(), model.sigma2.cpu().detach().numpy(),model.sigma3.cpu().detach().numpy(),iter,avg_ssim, avg_psnr,model.current…

LeetCode 75 —— 98. 验证二叉搜索树

LeetCode 75 —— 98. 验证二叉搜索树 一、题目描述: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子…

【MYSQL高级】Mysql的SQL性能分析【借助EXPLAIN分析】

性能分析 要说sql有问题,需要拿出证据,因此需要性能分析 Mysql查询优化器(Mysql Query Optimizer) Mysql中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中收集到的统计信息&#xf…

Mali Offline Compiler - 官方视频教学 - 笔录

文章目录 目的Mali Offline Compiler 使用实例视频分析 shadermalioc 命令制定你想要分析的 shader制定你想要分析的着色器对应的 GPU实例解析内容硬件结构 & 驱动 & Shader 类型信息寄存器、是否堆溢出、16-bit 算术占比寄存器的使用量减少浮点精度优化堆溢出与否16-b…

基于Java+vue前后端分离学习交流论坛设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

easyExcel实现动态导出需要的字段列

easyExcel实现动态导出需要的字段列 实体概况 package excel;import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.…

C++学习笔记-第11单元 标准模板库介绍

第11单元 标准模板库介绍 文章目录 第11单元 标准模板库介绍单元导读11.1 标准模板库(STL)基础11.2 STL容器简介11.3 STL迭代器简介11.3.1 使用迭代器访问容器中的元素11.3.2 迭代器类型11.3.3 迭代器支持的运算符操作 11.4 顺序容器11.4.1 顺序容器的逻辑结构11.4.2 代码展示s…

Vue组件库Element-快速入门

目录 什么是Element 快速入门 什么是Element Element:是饿了么团队研发的,一套为开发者、设计师和产品经理准备的基于Vue2.0的桌面端组件库组件:组成网页的部件,例如超链接、按钮、图片、表单、表格、分页条等官网:…

avoidLabelOverlap无效果,echarts环形标签重叠,echarts数据重叠

在开发echarts环形图时,会出现数据重叠的现象.比如下面这情况.不可能为了数据将环形图变得太小,这样环形图太小也不美观.后来在官网上查找有一个avoidLabelOverlap属性,结果加上去后也没啥用 解决方法: 除了加上面:avoidLabelOverlap:true以外,还要加另外一个属性:minAngle:1…

win10系统中Pensieve(Sigcomm17)算法部署与运行

win10系统中Pensieve算法部署与运行 一、环境配置1、Anaconda环境配置2、Pycharm安装3、Pensieve安装包配置4、Pensieve数据集生成5、Pensieve代码运行6、Pensieve代码修改 一、环境配置 1、Anaconda环境配置 下载并且安装 Anaconda 官网下载地址:https://www.ana…

【Java基础教程】(六)程序概念篇 · 末:全面讲解Java方法的定义及应用、方法重载及递归~

Java基础教程之程序概念 末 本节学习目标1️⃣ 方法的定义与使用1.1 概念🔍 在编写代码时,怎么判断什么情况下应该定义方法? 1.2 方法重载1.3 方法递归 🌾 总结 本节学习目标 掌握Java中方法的定义结构、方法重载的概念与应用;…