uniapp 将图片文本上传至数据库存储,图片的存储与数据库保存,文件上传

文章介绍了如何在Vue应用中使用uni-file-picker组件进行图片上传,上传成功后通过uniCloud的云函数将用户信息和图片链接存储到数据库。
摘要由CSDN通过智能技术生成
<view class="home">

		<uni-file-picker v-model="imageValue" fileMediatype="image" mode="grid" :autoUpload="false" returnType="object"
			@select="select" @progress="progress" @success="success" @fail="fail" ref="files" />
		<!-- 
		v-model双向绑定
		fileMediatype文件的上传类型image图片
		mode="grid"图片上传界面网格类型
		autoUpload取消自动上传
		returnType:"object"单选
		@select="select"选择事件
		@progress="progress" 进度事件
		@success="success" 成功事件
		@fail="fail" 失败事件
		 -->

		<input type="text" name="name" v-model="name" placeholder="请输入姓名"/>
		<input type="text" name="gender" v-model="gender" placeholder="请输入性别"/>
		<button @click="onsubmit">提交</button>


	</view>

一个文件上传组件,两个输入框,一个提交按钮

<script>
	export default {
		data() {
			return {
				name: "",
				gender: "",
				imageValue: [],
				avatar: []
			}
		},
		onLoad() {

		},
		methods: {
			//提交按钮点击事件
			onsubmit(e) {
				this.$refs.files.upload()
			},

			// 获取上传状态
			select(e) {
				console.log('选择文件:', e)
			},
			// 获取上传进度
			progress(e) {
				console.log('上传进度:', e)
			},

			// 上传成功
			success(e) {
				console.log('上传成功', e)
				this.avatar = e.tempFilePaths[0]

				uniCloud.callFunction({
					name: "mycloudfuns",
					data: {
						name: this.name,
						gender: this.gender,
						avatar: this.avatar,
					}
				}).then(res => {
					console.log(res);
				})
			},

			// 上传失败
			fail(e) {
				console.log('上传失败:', e)
			}

		}
	}
</script>

按钮点击之后先完成图片的上传,然后把下载链接存储到avatar数组中,然后连接云函数

const db = uniCloud.database()
exports.main = async (event, context) => {
	let {name,gender,avatar}=event
	return await db.collection("user").add({
		name,
		gender,
		avatar
	})
};

通过云函数add将数据存储到数据库中

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星辰漫步者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值