uniapp微信小程序图片上传功能实现,页面显示文件列表、删除功能

news/2024/7/20 3:28:41 标签: uni-app, 微信小程序, 小程序, javascript, 前端, vue.js

uniapp小程序图片上传功能效果预览
在这里插入图片描述

一、template 页面结构

javascript"><view class="upload-box">
	<view class="upload-list">
		<view class="upload-item" v-for="(item,index) of fileList" :key='index'>
			<image class="img" src="static/czc/file-icon.png"
				mode="">
			</image>
			<view class="name">
				{{item.fileName||''}}
			</view>
			<view class="close-icon" @click="onDelete(index)">
				<uni-icons type="closeempty" size="14" color="#999"></uni-icons>
			</view>
		</view>
	</view>
	<view class="upload-img" v-if="fileList.length<6">
		<image class="upload-icon" @click="onClick"
			src="https://yjzx.netda.gov.cn:18188/static/czc/upload-icon.png" mode="">
		</image>

	</view>
</view>

二、js部分

javascript">//data:
fileList: [],

//methods方法
onDelete(index){//删除方法
	this.fileList.splice(index,1)
},
maskClick() {},
onClick() {
	uni.chooseImage({
		count: 6 - this.fileList.length, //最大六张
		sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
		sourceType: ['album', 'camera'],//相册、相机选择  默认二者都有
		success: (chooseImageRes) => {
			console.log(chooseImageRes)
			const tempFilePaths = chooseImageRes.tempFilePaths;
			if(tempFilePaths){  //图片的本地文件路径列表
				for(let i=0;i<tempFilePaths.length;i++){
					uni.uploadFile({
						header: {
							Authorization:this.token //接口需要登录传 token
						},
						url:'/file/loadUploadFile', //仅为示例,非真实的接口地址
						filePath: tempFilePaths[i],
						name: 'file',
						formData: {},
						success: (res) => {
							console.log(res);
							const obj = JSON.parse(res.data)  //上传结果
						
						},
						fail: (err) => {
							console.log(err)
						}
					});
				}
			}

		}
	});
},

三、css部分

javascript">.upload-box {
	width: 100%;
	margin-top: 20rpx;

	.upload-img {
		text-align: left;

		.upload-icon {
			width: 73rpx;
			height: 73rpx;
		}


	}

	.upload-list {
		width: 100%;
		margin-top: 20rpx;

		.upload-item {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			justify-content: flex-start;
			margin-bottom: 20rpx;

			.img {
				width: 32rpx;
				height: 30rpx;
				margin-right: 10rpx;
			}

			.name {
				flex: 1;
				word-break: break-all;
				font-size: 30rpx;
				color: #3D67D6;
				text-align: left;
				padding-right: 10rpx;
			}
		}
	}
}

http://www.niftyadmin.cn/n/5344522.html

相关文章

8-Docker网络命令之inspect

1.inspect介绍 Docker网络命令inspect是用来查看Docker网络的详细信息 2.inspect用法 docker network inspect [参数] NETWORK [root@centos79 ~]# docker network inspect --helpUsage: docker network inspect [OPTIONS] NETWORK [NETWORK...]Display detailed informat…

云计算中的出口数据是指什么?

谷歌云&#xff08;Google Cloud&#xff09;近日宣布了一项重大政策变动&#xff0c;决定免除那些选择终止使用其服务并将数据迁移到其他云服务商或本地环境的客户的出口数据费用&#xff08;数据导出费用&#xff09;。 这一举措由谷歌云平台负责人阿米特扎维里&#xff08;A…

【小呆的力学笔记】弹塑性力学的初步认知二:应力应变分析(2)

文章目录 1.4 主应力空间、八面体应力1.5 应变分析1.6 特殊应力、应变定义 1.4 主应力空间、八面体应力 一点的应力状态不论如何变化&#xff0c;其主应力和主方向一致的话&#xff0c;该点的应力状态就是唯一确定的。因此&#xff0c;我们用主应力方向建立一个三维坐标系来描…

php 文件上传

目录 1 php.ini 配置文件的修改 2.系统返回码详解 错误级别 4.上传简单示例 5.php代码简单优化 1 php.ini 配置文件的修改 配置项说明file_uploads on 为 开启文件上传功能&#xff0c; off 为关闭 post_max_size 系统允许的 POST 传参的最大值 &#xff0c;默认 8M upl…

设计模式—行为型模式之命令模式

设计模式—行为型模式之命令模式 命令&#xff08;Command&#xff09;模式&#xff1a;将一个请求封装为一个对象&#xff0c;使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通&#xff0c;这样方便将命令对象进行储存、传递、调用、增加与管理。 …

React中antd的使用技巧

1.antd的基本使用&#xff1a; (1).yarn add antd(2).引入样式&#xff1a;import antd/dist/antd.css;(3).根据文档引入组件2.antd按需引入样式 (1).yarn add react-app-rewired customize-cra babel-plugin-import(2).修改package.json&#xff0c;内容如下&#xff1a;.....…

HarmonyOS鸿蒙学习基础篇 - Text文本组件

该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 Text文本组件是可以显示一段文本的组件。该组件从API Version 7开始支持&#xff0c;从API version 9开始&#xff0c;该接口支持在ArkTS卡片中使用。 子组件 可…

网页搜索排名算法简介

佩奇排名&#xff08;PageRank&#xff09;算法是由Google的创始人拉里佩奇&#xff08;Larry Page&#xff09;和谢尔盖布林&#xff08;Sergey Brin&#xff09;在1990年代后期提出的一种用于网页排名的计算方法&#xff0c;它是早期Google搜索引擎的核心组成部分。该算法旨在…