开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
基础 api
基础
应用级事件
界面
跳转
多媒体
图片
旧版接口(停止更新)
视频
音频
录音
lottie 动画
相机
缓存
文件
位置
网络
设备
worker
数据安全
分享
收藏
自定义通用菜单
更新管理
web-view组件控制
升级支付宝最新版本
隐私信息授权
小程序广告
开放能力 api
开发 > api > 基础 api > 多媒体 > 图片 > my.compressimage
评论 (1)
收藏
我的文档
设置

my.compressimage(object object)

基础库 1.4.0 或更高版本; 且 支付宝客户端 10.1.8 或更高版本; 若版本较低,建议采取 兼容处理

支小宝客户端 支持

安诊儿客户端 支持

主体: 企业支付宝小程序个人支付宝小程序

压缩图片。

object object

查看示例

属性 类型 默认值 必填 兼容性 描述
apfilepaths array - -

要压缩的图片路径数组。支持 本地临时文件本地缓存文件本地用户文件代码包文件
注意:客户端 10.2.70 开始支持本地缓存文件、本地用户文件,客户端10.5.30、ide 3.8.6 开始支持代码包路径

compresslevel number 4 -

压缩等级

枚举值 描述 兼容性
0

低质量

-
1

中等质量

-
2

高质量

-
3

不压缩

-
4

根据网络适应

-
compressedwidth number -
基础库: 2.8.5

压缩后图片的宽度。单位: px
若不填写则默认以 compressedheight 为准等比缩放

compressedheight number -
基础库: 2.8.5

压缩后图片的高度。单位: px
若不填写则默认以 compressedwidth 为准等比缩放

success function - -

调用成功的回调函数

fail function - -

调用失败的回调函数

complete function - -

调用结束的回调函数(调用成功、失败都会执行)

success 回调函数

参数

object res

查看示例

属性 类型 描述
apfilepaths array

压缩后图片 本地临时文件 路径数组

fail 回调的参数为 object,error 属性为错误码,errormessage 属性为错误消息。

错误码 错误消息 凯发app官方网站的解决方案
2 ${fieldname} 不能为空

请检查对应入参字段

${fieldname} 参数类型错误

请检查指定的入参字段,传入正确的类型。

参数 compresslevel 超出可选范围

请检查入参 compresslevel, 传入正确的压缩等级。

my.compressimage(object object)
检测文件真实类型
success 回调参数
fail 回调参数
// 以从本地选择图片为例:
// 注意,在使用 my.chooseimage 选择图片进行压缩时,为确保压缩效果,请选择原图 
my.chooseimage ({
  count: 1,
  success: res => {
    my.compressimage ({
      apfilepaths: res.apfilepaths,
      compresslevel: 1,
      success (res) {
        console.log (res);
      },
      fail (err) {
        console.log (err);
      },
    });
  },
});
// 以从本地选择图片为例:
my.chooseimage ({
  count: 1,
  success: res => {
    my.compressimage ({
      apfilepaths: res.apfilepaths,
      compresslevel: 1,
      success (res) {
        console.log ('compressimage - success', res);
        my.detectfiletype ({
          filepath: res.apfilepaths[0],
          success (res) {
            console.log ('detectfiletype: success', res);
          },
          fail (err) {
            console.log ('detectfiletype: fail', err);
          },
        });
      },
      fail (err) {
        console.log ('compressimage - fail', err);
      },
    });
  },
});
{
  "apfilepaths": ["https://resource/8eff65d7f084508b7841e38e1efb01a63.image"]
}
{
  "error": 2,
  "errormessage": "无效参数"
}
  • tip

    图片的路径数组在 ide 上以实际后缀名为后缀(部分不常用的图片后缀名会以 .null 为后缀),在真机预览上以 .image 为后缀。

    若需判断文件扩展真实后缀名,可使用 my.detectfiletype 进行查询,请以此接口返回结果为准,不过需注意此接口仅限真机调试,可参考上方示例代码。

  • tip
    在使用 my.chooseimage 选择图片进行压缩时,为确保压缩效果,请选择原图 。否则可能出现压缩后的图片比原始图大的情况。

q:图片压缩后,如何查看文件大小?

a:

可通过调用 filesystemmanager.getfileinfo 获得文件的 size 。 例如:

my.chooseimage({
  count: 1,
  success: (res) => {
    my.compressimage({
      apfilepaths: res.apfilepaths,
      compresslevel: 1,
      success: (data) => {
        console.log(data.apfilepaths[0]);
        let fs = my.getfilesystemmanager();
        fs.getfileinfo({
          filepath: data.apfilepaths[0],
          success: (res) => {
            console.log(res.size); // 单位是字节(byte)
          },
        });
      },
    });
  },
});
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图