我正在尝试从客户端应用程序的内部存储器上传图像,使用
- React Native图像拾取器@^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图像选取器错误:未授予权限
- 有时,On Allow按钮按下应用程序会意外崩溃。
其他信息
- React原生版本:~0.46.1
- 请访问:16.0.0-alpha.12
- 平台:【安卓5.1及以上】
- 开发操作系统:[Windows 7专业版]
- 开发工具:[ Android Studio版本2.3.2,Android SDK 23]
5条答案
按热度按时间tyg4sfes1#
在
AndroidManifest.xml
中添加以下代码:根据Jaffar Raza和szskdgi的建议编辑了此文章
iyfamqjs2#
将此代码添加到android/app/src/main/Android Manifiest.xml中
lh80um4z3#
将以下权限添加到AndroidManifiest.xml之后
我们应该在处理功能之前检查权限。
例如:-步骤1(检查权限是否为“已授予”)
步骤2(请求权限)
则我们必须对WRITE_EXTERNAL_STORAGE执行相同的操作,
lskq00tm4#
在添加此权限时,在某些设备中出现“用户未授予库权限”消息
所以我改成了
并在变更后工作
lymnna715#
如果您使用的是Android M或API级别23+,则接受的答案将不起作用,您需要提示用户获得权限。
将此代码添加到
android/app/src/main/AndroidManifiest.xml
App.js
详细实现和需要提示用户的权限列表
https://reactnative.dev/docs/permissionsandroid