uniapp 本地相册选择图片

本文档介绍如何在uniapp中实现从本地相册选择图片并进行管理,包括删除和添加图片的功能。通过`uni.chooseImages`接口控制上传图片数量,并将选择的图片路径添加到数组中,方便在应用中展示。

标题 uniapp 本地相册选择图片

export default {
    data(){
       return {
            imageLists:[]
       }
	}
}

methods:{
   delete(index){    //  获取该数组的索引值, 删除 ( imageLists[] 数组里面 ) 的图片
      this.imageLists.splice(index,1)     // 拿到改图片的位置(索引值), 删除这一张图片
   },
    addImage(){              //  事件名称  (自定义)
        let count = 5 - this.imageLists.length
         uni.chooseImages({
             count:count ,                               //  上传图片数量的控制
             success(res){
               let tempfilepaths = res.tempfilepaths     //  图片的本地文件路径列表
               tempfilepaths.forEach((item,index) =>{
                 if(index < count){             // 处理H5 端,多选的情况  (只有小于 count 才会被push 到数组里面)
	                  this.imageLists.push({                 // push 对象到  imageLists[] 数组里面
	                    url:item
                 	})
                 }
               })
             }
         })
    },
}
### 实现 UniApp选择本地图片功能 在 UniApp 开发框架中,可以通过 `uni.chooseImage` API 来实现选择本地图片的功能。以下是该 API 的详细参数说明以及如何使用的具体方法。 #### 参数详解 - **count**: 类型为 Number,表示最多可以选择图片数量,默认值为 9[^1]。 - **sizeType**: Array<String> 类型,指定所选图片的质量类型,可以是 original(原图)、compressed(压缩图),或者两者皆有,默认情况下会提供两种类型的选项。 - **extension**: Array<String> 类型,用于根据文件扩展名过滤图片,每一项不能为空字符串,默认不过滤任何图片- **sourceType**: Array<String> 类型,定义图片来源方式,可选 album(从相册选取)或 camera(使用相机拍摄)。默认允许用户通过任一方式进行选择- **success**: Function 类型,当操作成功时触发此回调函数,并返回选定图片的临时文件路径列表 `tempFilePaths`。 - **fail**: Function 类型,接口调用失败时执行的回调函数。 - **complete**: Function 类型,在接口调用完成之后无论成功与否均会被调用的回调函数。 #### 示例代码 下面是一个完整的示例代码片段展示如何利用上述参数来实现选择并显示一张或多张本地图片: ```javascript // 调用 chooseImage 方法选择图片 uni.chooseImage({ count: 6, // 设置最大能选择几张照片 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图 sourceType: ['album', 'camera'], // 图片来源可以从相册也可以直接拍照 success: function(res) { const tempFilePaths = res.tempFilePaths; // 打印获取到的图片地址数组 console.log('已选择图片:', tempFilePaths); // 如果需要进一步处理这些图片比如上传服务器等逻辑放在这里... }, fail(err){ console.error("错误信息:", err); } }); ``` 此外还可以结合其他插件如压缩工具对大尺寸图片做预处理再上传至云端存储服务端口前减少带宽消耗提高效率如下所示: ```javascript let temfile = res.tempFilePaths[0]; uni.getImageInfo({ src:temfile, success: (re) => { console.log(re); // 对图片进行压缩 uni.compressImage({ src: re.path, quality: 80, // 压缩质量百分比 width: 200, // 输出宽度像素单位px height: 200, // 输出高度像素单位px success: (r) => { console.log(JSON.stringify(r)); let path = r.tempFilePath; // 获取压缩后的图片详情 uni.getImageInfo({ src:path, success: (info) => { console.log(info); } }) }, fail: (er) => { console.log(er); } }); } }) ``` 以上就是关于如何在UniApp项目里集成简单的本地图片挑选器组件及其基本配置指南[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值