uniapp简单的拍照上传预览

样式可根据需求自行设计

<template>
	<view>
		<button type="default" @click="updataimg">本地选择</button>
		<view class="">
			<view class="">
				<view v-for="(image, index) in imageList" :key="index">
					<view class="">
						<view class="" @click="onDeleteClick(index)">
							<u-icon class="" name="trash-fill" color="#EB0909" size="28" hover-class="unicolor">
							</u-icon>
						</view>
						<image class="" :src="image" :data-src="image" @tap="previewImage">
						</image>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				imageList: []
			}
		},
		methods: {
			//上传
			updataimg(){
				const that = this
				uni.chooseImage({
					count: 6, // 最多可以选择的图片张数,默认9
					sizeType: ['original', 'compressed'], //original 原图,compressed 压缩图,默认二者都有
					sourceType: ['album',
						'camera'
					], //album 从相册选图,camera 使用相机,默认二者都有。如需直接开相机或直接选相册,请只使用一个选项
					success: function(res) {
						console.log(res)
						const len = that.imageList.length
						if (len >= 6) {
							uni.showToast({
								title: '图片最多上传6张'
							})
						} else {
							for (let i = 0; i < 6 - len; i++) {
								if (res.tempFilePaths[i]) that.imageList.push(res
									.tempFilePaths[i])
							}
						}
					}
				})
			},
			//照片删除
			onDeleteClick(index) {
				this.imageList.splice(index, 1)
			},
			//照片的预览
			previewImage(e) {
				let imgArr = []
				imgArr.push(e.currentTarget.dataset.src)
				console.log(imgArr);
				uni.previewImage({
					urls: imgArr
				})
			},
		}
	}
</script>

<style>
</style>

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uniapp作为一款跨平台开发框架,具备了在多个平台上进行开发和发布的能力。在Uniapp中,我们可以对图片进行上传、删除和预览操作。下面,我将针对这三个操作进行详细说明。 1. 图片上传Uniapp中,我们可以利用uni.uploadFile()方法来上传图片。使用uni.uploadFile()方法时需要先指定上传的url地址和要上传的文件路径,还可以设置一些请求头信息。该方法需要响应事件来处理上传结果,可以通过uni.uploadFile()的回调函数onSuccess()和onFail()来进行上传结果的处理,具体代码如下: ``` uni.uploadFile({ url: 'https://example.com/upload', filePath: '/path/to/file', header: { 'Custom-Header': 'xxx' }, success: (res) => { console.log(res.data); }, fail: (err) => { console.log(err.errMsg); } }); ``` 2. 图片删除 在Uniapp中,我们可以使用uni.removeSavedFile()来删除本地图片。使用该方法需要指定要删除的图片路径,同时在执行删除操作成功之后,会返回一个成功的回调函数onSuccess()。代码如下: ``` uni.removeSavedFile({ filePath: '/path/to/file', success: (res) => { console.log(res); } }); ``` 3. 图片预览Uniapp中,我们可以使用uni.previewImage()来预览图片。该方法需要指定预览的图片列表以及当前要预览的图片索引,同时支持一些配置项,比如长按功能。该方法执行后,用户可以对图片进行放大、缩小、旋转等操作。具体代码如下: ``` uni.previewImage({ urls: ['/path/to/image1', '/path/to/image2'], current: 0, longPressActions: { itemList: ['发送给朋友', '保存图片'], success: function(data) { console.log(data); }, fail: function(err) { console.log(err.errMsg); } } }); ``` 总的来说,Uniapp提供了方便快捷的图片上传、删除和预览功能,使得开发者可以更加灵活地对图片进行管理和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值