我正在尝试使用
从我们的客户端应用中的内存中上传图像react-native-image-picker@^0.26.4
执行以下示例代码后,我以意想不到的方式获得了响应。
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 }
// RNGRP.getRealPathFromURI(response.uri).then(filePath => {
// uploadImageToS3(filePath, "dinesh")
// console.log(filePath)
// })
// You can also display the image using data:
// let source = { uri: 'data:image/jpeg;base64,' + response.data };
this.setState({
avatarSource: source
})
}
响应= {错误:“未授予权限”} 错误:“未授予权限” proto :对象 D:\ my_app \ index.js:124 ImagePicker错误:未授予权限
有时候按下允许按钮按下应用程序会意外崩溃。
答案 0 :(得分:9)
在AndroidManifest.xml
:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在Jaffar Raza和szskdgi
的建议之后编辑了这个答案 1 :(得分:1)
将此代码添加到android / app / src / main / AndroidManifiedt.xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
答案 2 :(得分:1)
在AndroidManifyingt.xml中添加以下权限后
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
我们应该在处理功能之前检查权限。
例如:- 第 1 步(检查权限是否被授予)
const isCameraAuthorized = await permissions.checkPermission(
PermissionType.CAMERA
);
enter code here
第 2 步(请求权限)
cameraPermissionStatus = await permissions.requestPermission(
PermissionType.CAMERA
);
然后我们对 WRITE_EXTERNAL_STORAGE 做同样的事情
cameraPermissionStatus = await permissions.requestPermission(
PermissionType.WRITE_EXTERNAL_STORAGE
);
const isCameraAuthorized = await permissions.checkPermission(
PermissionType.WRITE_EXTERNAL_STORAGE
);