vue 使用 vant上传图片

本文介绍了如何在有赞 vant 框架中使用 Uploader 组件上传图片,并将图片转换为 Base64 编码以提交表单。在后端接收 Base64 数据的情况下,简化了表单提交流程。同时,讲解了如何利用 FormData 对象处理表单数据,包括 append、set、get 等方法的使用,以及如何检查和删除 formData 中的数据。通过示例代码展示了具体实现过程。
摘要由CSDN通过智能技术生成

1.下面这个页面效果图,图片是在网上随便找的一张

2.这个是页面的部分代码,用的是有赞团队的  vant框架

3.然后重点来了,看屏幕,我现在要点击“保存”提交表单,但是提交图片的方式我们可以把图片转为base64进行提交,如果后端接收的时候是base64,瞬间感觉萌萌哒,因为vant中的“Uploader ”这个组件有上传图片的功能

如果后端采用的是表单提交,那么我们需要用到FormData()  这个对象进行拼接数据,

然后我们看似创建对象完成,准备console.log(formData)的时候你会发现一下情况

这什么鬼?是不是一脸蒙蔽呢,下面我来解释下formData的操作方法

1、通过get(key)与getAll(key)来获取相对应的值

2、通过append(key,value)在数据末尾追加数据

3、通过set(key, value)来设置修改数据(key的值不存在,会添加一条数据;key的值存在,会修改对应的value值)

4、通过has(key)来判断是否存在对应的key值

5、通过delete(key)可以删除数据

所以我们查看formData中的某一条数据的时候可以用这个方法console.log(formData.get("avatarFile"))

这样我们就取到了formData中对应的数据了,然后把这个formData作为一个data传给后端就大功告成了

实例:

 
原文链接:https://blog.csdn.net/onlyhqm/article/details/85250216

Vue3中使用Vant进行图片上传的流程如下: 1. 首先,你需要在Vue组件中引入Vant的Uploader组件。可以使用以下代码片段: ```javascript <template> <van-uploader :after-read="afterRead" accept="image/*" :max-count="1" :max-size="100 * 1024 * 1024" @oversize="onOversize" /> </template> <script> import { Uploader } from 'vant'; export default { components: { \[Uploader.name\]: Uploader, }, methods: { afterRead(file) { // 在这里可以将文件上传到服务器 // 你可以将文件转换为base64格式进行提交 this.formData.File = file.content; }, onOversize() { // 当文件大小超过限制时触发 }, }, }; </script> ``` 2. 在Vue组件中,你需要定义一个`afterRead`方法作为文件读取完成后的回调函数。在这个方法中,你可以将文件上传到服务器。在这个例子中,我们将文件的base64内容存储在`formData.File`中。 3. 你还可以使用`accept`属性来限制上传文件的格式。在这个例子中,我们使用`accept="image/*"`来只允许上传图片文件。 4. 使用`max-count`属性来限制文件上传的数量。在这个例子中,我们将最大上传数量限制为1。 5. 使用`max-size`属性来限制文件的大小。在这个例子中,我们将文件大小限制为100MB。 总结起来,以上代码展示了在Vue3中使用Vant进行图片上传的基本流程。你可以根据自己的需求进行相应的修改和扩展。 #### 引用[.reference_title] - *1* *3* [vue+vant 表单提交,实现图片上传](https://blog.csdn.net/onlyhqm/article/details/85250216)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue项目+Vant组件库:上传图片或视频](https://blog.csdn.net/chenxiaoyuan1130/article/details/119870175)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值