uniapp 上传压缩图片 兼容h5和小程序的方法
    		       		warning:
    		            这篇文章距离上次修改已过440天,其中的内容可能已经有所变动。
    		        
        		                
                在uniapp中,你可以使用uni.chooseImage来选择图片,然后使用uni.compressImage来压缩图片,最后使用uni.uploadFile来上传图片。以下是一个简单的示例代码:
// 选择图片
uni.chooseImage({
  count: 1, // 默认9
  sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  success: function (res) {
    // 获取文件的临时路径
    var tempFilePaths = res.tempFilePaths;
    
    // 压缩图片
    uni.compressImage({
      src: tempFilePaths[0], // 图片路径
      quality: 80, // 压缩质量,范围为0 - 100,100为不压缩
      success: function (res) {
        // 获取压缩后的图片路径
        var compressedFilePath = res.tempFilePath;
        
        // 创建上传任务
        uni.uploadFile({
          url: 'https://your-api-endpoint.com/upload', // 开发者服务器地址
          filePath: compressedFilePath, // 要上传文件资源的路径
          name: 'file', // 文件对应的key
          formData: {
            'user': 'test' // 其他表单信息
          },
          success: function (uploadFileRes) {
            console.log(uploadFileRes.data); // 输出上传结果
          },
          fail: function (uploadFileErr) {
            console.log(uploadFileErr); // 输出上传失败信息
          }
        });
      },
      fail: function (err) {
        console.log(err); // 输出压缩失败信息
      }
    });
  }
});这段代码首先使用uni.chooseImage选择图片,然后使用uni.compressImage压缩图片,最后使用uni.uploadFile上传图片到服务器。这个过程是兼容H5和小程序的。
评论已关闭