uniapp图片上传插件

配置上传和访问地址

main.js

Vue.prototype.$baseUrl="https://xxx.domain.com/api"
Vue.prototype.$baseUrl_imgs="https://files.yourapps.cn"

在这里插入图片描述
在这里插入图片描述

HTML

<template>
	<view>
		<view class="service">
			<view class="service_title">照片<span class="jh" v-if="ct==0">*</span><span class="dcts">(最多4张)</span>
			</view>
			<view class="service_content">
				<view label="限制上传图片格式/大小">
					<m-upload :url="upPicUrl" :header="headerUpload" :fileName="file" ref="upload" title="添加照片"
						@upload="handleLoaded" @change="handleChange" :number="4" :formData="formData">
						<template v-slot:icon>
							<text class="s-add-list-btn-icon">+</text>
						</template>
					</m-upload>
				</view>
			</view>
		</view>
	</view>
</template>
import mUpload from '@/components/m-upload/m-upload.vue';
export default{
	components:{
		mUpload,
	},
	data(){
		return{
			upPicUrl: `${this.$baseUrl}/Upload.Upload/image`,
			headerUpload: {
				'token': uni.getStorageSync('token')
			},
			upload_site_photos:'',
			photosArray:''
		}
	},
	onShow() {
		
	},
	methods:{
		handleChange() {
			this.$refs.upload.upload();
		},
		
		// 获取上传或者预览后的图片
		handleLoaded(arr) {
			console.log('arr',arr)
			var imageStr = "";
			let imgArr = []
			for (var i = 0; i < arr.length; i++) {
				imageStr += arr[i].result + ",";
				imgArr.push(arr[i].result )
			}
			//去掉最后一个逗号
			if (imageStr.length > 0) {
				imageStr = imageStr.substr(0, imageStr.length - 1);
			}
			// console.log(imageStr);
			console.log('imageStrimageStrimageStr',imageStr)
			this.upload_site_photos = imageStr
			this.photosArray = imgArr
		},
	}
}

图片上传成功后端返回json格式

data:{
	detault_url: "/storage/img/20240721/240721162248727589228.jpg"
	time: "2024-07-21 16:22:48"
}

设置图片默认数据

let photos = ['/storage/img/20240721/240721160844178985839.png','/storage/img/20240721/240721160844896181165.png']
this.$refs.upload.setItems(photos)
uniapp是一款基于Vue.js和小程序开发框架的跨平台应用开发工具,它可以帮助开发者快速构建同时在多个平台上运行的应用程序。在uniapp开发中,如果需要上传图片,可以选择使用图片压缩插件来减小图片的大小,提高上传效率。 目前,uniapp上使用的图片压缩插件主要有两种方式:基于canvas的压缩和使用第三方压缩库。 基于canvas的压缩方法是先将图片绘制到一个canvas上,然后通过调整canvas的尺寸和图片的质量来进行压缩。这种方法可以确保压缩后图片的质量,但在处理大尺寸图片时可能会占用较多的内存,导致用户体验下降。 另一种方法是使用第三方压缩库,如compressorjs和image-compressor等。这些库使用了一些压缩算法来减小图片的大小,同时保持适当的质量。使用第三方压缩库通常需要在项目中引入相应的插件,并按照插件提供的API进行调用。 具体使用图片压缩插件的步骤如下: 1. 引入图片压缩插件的相关依赖库或插件。 2. 创建一个图片上传组件,并添加上传按钮。 3. 在图片上传事件中获取用户选择的图片文件。 4. 调用图片压缩插件的API对图片进行压缩处理。 5. 将压缩后的图片上传到服务器。 值得注意的是,图片压缩并不是每个项目都必须使用的功能,需要根据具体需求和项目的实际情况来决定是否使用以及选择哪种压缩方法。另外,使用图片压缩插件时,需要考虑用户上传的图片大小和质量要求,以及对用户设备性能的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可爱的小土豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值