如何使用支付宝jssdk功能上传图片?

之前的微信H5项目,现在需要接入到支付宝里面,诸如扫码、选择和预览图片的功能直接调用支付宝的jssdk都能实现,然而支付宝的jssdk并没有上传图片的功能,有做过支付宝H5开发的同仁知道解决办法么?

AlipayJSBridge.call('chooseImage', {
  sourceType: ['camera', 'album'],
  count: 9
}, function (result) {
  const { localIds, apFilePathsV2 } = result
  // 可以从result里面去到localIds和apFilePathsV2这两个有用的数组
  // localIds的子元素是一些随机的字符串
  // apFilePathsV2的元素则是类似于`https://resource/fe4f6db8d03426987eafbb85c5d9d900c.image`之类的字符串
  // 不同于微信jssdk,这里的localId不能用来预览图片,但是apFilePathsV2可以,不过也不知道apFilePathsV2还能用来做啥,翻遍文档没有找到任何说明
});

我看到支付宝jssdk的chooseImage接口说明 的后面有这一段:

获取localID后,如果使用uploadImage接口上传,此处publicDomain参数的值应和uploadImage接口的publicDomain参数值的保持一致。

感觉应该是有一个uploadImage接口的,但是文档里面也没用找到任何说明。


发现另外一个接口和chooseImage类似,而且功能更全面:

  AlipayJSBridge.call('photo', {
    dataType: 'dataURL',
    imageFormat: 'jpg',
    quality: 75,
    maxWidth: 500,
    maxHeight: 500,
    allowEdit: true,
    multimediaConfig: { // 可选,仅当该项被配置时,图片被传输至 APMultimedia
      compress: 2, // 可选,默认为4。 0-低质量,1-中质量,2-高质量,3-不压缩,4-根据网络情况自动选择
      business: "multiMedia" // 可选,默认为“NebulaBiz”
    }
  }, function (result) {
    const { dataURL, multimediaID } = result
  });

可以通过这个接口获取到图片的内容,以及一个叫multimediaID的东西,文档说:

multimediaID: 标识上传图片在APMultimedia中的identifier

可是APMultimedia又是什么??我能通过multimediaID干什么事情? 文档也找不到说明

阅读 8k
3 个回答

在一个版本略早的支付宝jssdk文档的pdf版本里面找到了这一段

ap.chooseImage(function(res){
    if(res.apFilePaths && res.apFilePaths.length > 0) {
        ap.uploadFile({
            url: '[请使⽤⾃⼰服务器地址]',
            fileType: 'image',
            fileName: 'file',
            filePath: res.apFilePaths[0],
            success: function() {
                ap.alert('上传成功');
            },
            fail: function() {
                ap.showToast('上传失败');
            }
        });
    }
});

看来还是得自己实现上传服务才行了。

碰巧遇到了这个问题 以为支付宝应该也有uploadImage的接口的 然而我也是踏破铁鞋都找不到啊,不知道小哥哥你有没有解决呢?

新手上路,请多包涵

支付宝自定义分享内容的接口有吗?右上角的分享。不是页面上加个按钮点击分享。除了starshare和 ap.share和meta标签,我是vue写的,单页面应用不可能每个页面分享内容写到index.html里面,怎么设置支付宝右上角分享的内容呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题