简介:介绍如何在Uniapp中实现图片上传功能,包括选择图片、压缩图片、上传图片等步骤。
在Uniapp中实现图片上传功能,需要使用uni.chooseImage()选择图片,使用plus.zip.compressImage()进行图片压缩,使用uni.uploadFile()将本地资源上传到服务器。下面详细介绍这些步骤:
uni.chooseImage({count: 1, // 默认9sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有success: function (res) {// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片this.imgBg = res.tempFilePaths[0];}});
plus.zip.compressImage({src: this.imgBg, // 图片路径quality: 100, // 压缩质量,范围0-100,默认100success: function (compressRes) {// 压缩成功后的图片路径列表数组,可以用于上传或预览等操作that.imgBgArr = compressRes.files;}});
uni.uploadFile({url: 'http://example.com/upload', // 服务器地址filePath: that.imgBgArr[0], // 文件路径name: 'file', // 文件上传的key,对应请求的param的key,不包含在url后面success: function (uploadFileRes) {// 返回文件上传的临时路径和绝对路径信息,可以用于后续请求临时路径进行预览等操作this.imgBgUrl = uploadFileRes.tempFilePath;imgBgArrUrl = uploadFileRes.filePath;}});