微信小程序之使用vant-3组件Uploader文件上传

本文介绍了如何在微信小程序中整合Vant Weapp的Uploader组件,实现图片上传功能。首先,需要引入 vant 的 weapp 包到项目,并在 app.json 中配置 usingComponents。接着,通过编写 WXML 和 JS 代码来展示图片并处理文件选择和删除操作。在 JS 代码中,定义了 afterRead 和 deleteImg 方法,分别用于文件读取后的处理和删除图片。示例代码详细展示了实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果图:
在这里插入图片描述


测试链接

1、把vant的weapp包加进来

在这里插入图片描述

2、在app.json文件里面"usingComponents"加载进来才能使用组件

在这里插入图片描述

3、开始编写

wxml代码:

 <view class="lin-v">
                <view class="f-16 w-200">红富士</view>
                <van-uploader
                        file-list="{{ fileList }}"
                        bind:after-read="afterRead"
                        bind:delete="deleteImg"
                        max-count="3"
                        max-size="5242880"
                />
                <view class="f-12 fc-h" style="line-height: 40rpx">添加图片</view>
            </view>
<!--max-count="3":最大上传3张图片,-->

js代码:

Page({
    /**
     * 页面的初始数据
     */
    data: {
		fileList: []
	},
	//文件选择
    afterRead(event) {
        const {file} = event.detail;
        let img = {
            url: file.url,
            name: '图片1',
        }
        let fileList = this.data.fileList;
        fileList.push(img);
        this.setData({fileList: fileList});
    },
   /* 删除图片*/
    deleteImg(e) {
        let fileList = this.data.fileList;
        fileList.splice(e.detail.index, 1);
        this.setData({fileList: fileList});
    },
})

完结----------

Vant Weapp 是微信小程序生态下基于 Vue 框架的一个优秀组件库,它提供了一个名为 `uploader` 的组件,用于处理文件上传和下载的功能。对于文件下载,你可以通过 `download` 属性指定一个 URL 来下载远程文件。示例如下: ```html <van-uploader :url="remoteFileUrl" // 这里替换为你要下载的文件URL action="saveRemoteFile" download ></van-uploader> <script> export default { data() { return { remoteFileUrl: &#39;https://example.com/download/file.jpg&#39;, // 下载文件的地址 }; }, methods: { saveRemoteFile(response) { if (response.status === 200) { console.log(&#39;下载成功:&#39;, response.data); // 将下载好的文件保存到本地或其他地方,这里不做详细展示 } else { console.error(&#39;下载失败:&#39;, response.message); } }, }, }; </script> ``` 对于文件添加(上传),你可以使用 `before-upload` 和 `on-success` 或者直接设置 `action` 属性指向服务器端处理文件上传的地方。上传文件前通常会检查文件大小、格式等限制: ```html <van-uploader multiple :before-upload="beforeUpload" @success="uploadSuccess" action="/api/upload" ></van-uploader> <script> export default { methods: { beforeUpload(file) { // 文件检查,返回true表示允许上传,false则阻止 const allowedTypes = [&#39;image/jpeg&#39;, &#39;image/png&#39;]; if (!allowedTypes.includes(file.type)) { wx.showToast({ title: &#39;只支持图片文件&#39;, }); return false; } if (file.size > 5 * 1024 * 1024) { // 限制文件大小为5MB wx.showToast({ title: &#39;文件过大,请选择小于5MB的图片&#39;, }); return false; } return true; }, uploadSuccess(res) { console.log(&#39;文件上传成功:&#39;, res); }, }, }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值