chooseImage
拍照或从手机相册中选图接口
使用方法
AlipayJSBridge.call('chooseImage', {
sourceType: ['camera', 'album'],
count: 6
}, function (result) {
console.log(result);
});
代码演示
基本使用
<style>.img{ display:block; max-width: 100%; margin: 20px auto;}</style>
<h1>点击按钮选择图片</h1>
<button id="J_chooseImage" class="btn">选择图片</button>
<img id="J_imageViewer" class="img" />
<script type="text/javascript">
function ready(callback) {
if (window.AlipayJSBridge) {
callback && callback();
} else {
document.addEventListener('AlipayJSBridgeReady', callback, false);
}
}
ready(function() {
var btn = document.querySelector('#J_chooseImage');
btn.addEventListener('click', function(e) {
AlipayJSBridge.call(
'chooseImage',
{
count: 1,
sourceType: ['camera', 'album']
},
function (result) {
alert(JSON.stringify(result));
var apFilePath = result.apFilePathsV2 || result.apFilePaths || [];
if (typeof apFilePath === 'string') {
try {
apFilePath = JSON.parse(apFilePath);
} catch (e) {}
}
if (!apFilePath.length || !/^https?:/.test(apFilePath[0])) {
return;
}
var eImage = document.querySelector('#J_imageViewer');
var image = new Image();
image.crossOrigin = 'anonymous';
image.onload = function() {
var canvas = document.createElement('CANVAS');
var context = canvas.getContext('2d');
canvas.height = image.height;
canvas.width = image.width;
context.drawImage(image, 0, 0);
try {
var dataURL = canvas.toDataURL('image/jpeg');
console.log(dataURL);
eImage.src = dataURL;
} catch (e) {
eImage.src = apFilePath[0];
}
canvas = null;
}
image.src = apFilePath[0];
}
);
}, false);
});
</script>
API
AlipayJSBridge.call('chooseImage', {
sourceType: 'camera',
count: 1
}, fn);
入参
名称 | 类型 | 描述 | 必选 | 默认值 | 版本 |
---|
count | number | 最大可选照片数 | N | 默认9张 | 9.9.7 |
sourceType | array | 相册选取或者拍照 | N | [‘camera’,’album’] | 9.9.7 |
publicDomain | bool | 是否准备上传到公有域,上传到公有域的图片在访问的时候不需要鉴权 | N | false | |
出参
回调函数带入的参数result: {error }
名称 | 类型 | 描述 |
---|
apFilePathsV2 | array | 图片文件路径 |
apFilePaths | jsonString | 图片文件路径 |
localIds | array | 图片多媒体LocalId iOS使用 |
tempFilePaths | jsonString | 图片文件路径 Android使用 |
success | bool | 是否返回成功 |
errorCode | string | 错误码 |
错误
errorCode | 描述 |
---|
10 | 用户取消 |
11 | 操作失败(权限不够) |
使用注意