React native 如何在react native image picker中提供仅从库中选择图像的选项?
下面的代码给出了显示摄像头的弹出窗口或从gallery中选择。我不想在这个相机选项。我想在调用此函数时启动gallery。有办法吗React native 如何在react native image picker中提供仅从库中选择图像的选项?,react-native,react-native-android,react-native-image-picker,React Native,React Native Android,React Native Image Picker,下面的代码给出了显示摄像头的弹出窗口或从gallery中选择。我不想在这个相机选项。我想在调用此函数时启动gallery。有办法吗 import ImagePicker from 'react-native-image-picker'; function selectImageFromGallery() { const options = { title: 'Select Avatar', storageOptions: { skipBackup: true, path
import ImagePicker from 'react-native-image-picker';
function selectImageFromGallery() {
const options = {
title: 'Select Avatar',
storageOptions: {
skipBackup: true,
path: 'images',
},
};
ImagePicker.showImagePicker(options, (response) => {
console.log('Response = ', response);
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
console.log('ImagePicker Error: ', response.error);
} else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
} else {
const source = { uri: response.uri };
}
});}
要从库中获取图像,请使用以下代码:
var options = {
title: 'Select Image',
allowsEditing: false,
quality:0.9,
noData: true,
maxWidth:1200,
maxHeight:1200,
mediaType: "photo",
customButtons: [
{ name: 'customOptionKey', title: 'Choose Photo from Custom Option' },
],
storageOptions: {
skipBackup: true,
cameraRoll: false
},
};
ImagePicker2.launchImageLibrary(options, response => {
console.log('Response = ', response);
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
console.log('ImagePicker Error: ', response.error);
} else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
alert(response.customButton);
} else {
let source = response;
// You can also display the image using data:
// let source = { uri: 'data:image/jpeg;base64,' + response.data };
this._sendpic(response.uri);
}
});
并使用以下代码从相机获取图像:
var options = {
title: 'Select Image',
allowsEditing: false,
quality:0.9,
noData: true,
maxWidth:1200,
maxHeight:1200,
mediaType: "photo",
customButtons: [
{ name: 'customOptionKey', title: 'Choose Photo from Custom Option' },
],
storageOptions: {
skipBackup: true,
cameraRoll: false
},
};
ImagePicker2.launchCamera(options, response => {
console.log('Response = ', response);
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
console.log('ImagePicker Error: ', response.error);
} else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
alert(response.customButton);
} else {
let source = response;
// You can also display the image using data:
// let source = { uri: 'data:image/jpeg;base64,' + response.data };
this._sendpic(response.uri);
}
});
有关更多信息,请参阅此链接:使用launchImageLibrary而不是showImagePicker。它将直接询问gallery选项
ImagePicker.launchImageLibrary(options, (response) => {
console.log('Response = ', response);
if (response.didCancel) {
console.log('User cancelled image picker');
} else if (response.error) {
console.log('ImagePicker Error: ', response.error);
} else if (response.customButton) {
console.log('User tapped custom button: ', response.customButton);
} else {
const source = { uri: response.uri };
}
});
以下是从
2.x.x
迁移到3.x.x
时需要更改的两行代码:
//之前,2.x.x
从“react native image picker”导入ImagePicker;
ImagePicker.showImagePicker(选项,响应=>{
...
});
//之后,3.x.x
从“react native image picker”导入{launchCamera,launchImageLibrary};
启动ImageLibrary(选项,响应=>{
...
});