如何使用支付宝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干什么事情? 文档也找不到说明
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在一个版本略早的支付宝jssdk文档的pdf版本里面找到了这一段
看来还是得自己实现上传服务才行了。
碰巧遇到了这个问题 以为支付宝应该也有uploadImage的接口的 然而我也是踏破铁鞋都找不到啊,不知道小哥哥你有没有解决呢?
支付宝自定义分享内容的接口有吗?右上角的分享。不是页面上加个按钮点击分享。除了starshare和 ap.share和meta标签,我是vue写的,单页面应用不可能每个页面分享内容写到index.html里面,怎么设置支付宝右上角分享的内容呢