React-native-camera 不想保存图像
React-native-camera don't want to save images
我在我的 react-native 应用程序中使用 react-native-camera 并且一切正常,但是当我拍照时,照片保存在我的设备上,这是我不想要的,图像应该发送到api 但没有保存在我的设备上,有人知道我怎样才能让它不保存在设备上吗?
render() {
return(
<View style={styles.container}>
<Camera
style={styles.camera}
ref={ref => {this.camera = ref;}}
type={Camera.constants.Type.back}
flashMode={Camera.constants.FlashMode.on}
orientation={Camera.constants.Orientation.landscapeLeft}>
<TouchableOpacity onPress={this.takePicture.bind(this)} style={{zIndex: 100}}>
<View style={styles.cameraButton}></View>
</TouchableOpacity>
</Camera>
</View>
);
}
takePicture()
{
this.camera.capture()
.then((data) => this.sendData(data))
.catch(err => console.error(err));
}
你可以用这个API,我用它而且很容易发送图片。
https://github.com/react-community/react-native-image-picker
您避免了创建相机视图的工作,当您选择照片(或拍摄照片)时,您会获得它的数据以发送到您想要的地方!
正确答案是编辑 #2!
您可以在我们的仓库中打开一个问题:https://github.com/react-native-community/react-native-camera
图像保存在您应用的缓存目录中。
解决承诺后,对象包含一个 uri,即图像的路径。或者您可以传递选项 base64: true,以从 takePictureAsync 承诺接收图像的 base64 表示形式。
使用base64字符串,您可以将其发送到您的服务器。这就是我们在应用程序中所做的。
编辑:如果您真的不想将其保存在应用程序的缓存目录中,我们可以在 takePictureAsync 方法中创建一个选项来执行此操作。请随时在我们的回购协议中打开一个关于此的问题作为功能请求。
编辑#2:正确答案:
您正在使用 RCTCamera,它默认将图像保存在设备上。
使用属性 captureTarget,传递值 Camera.constants.CaptureTarget.temp。
所以:
<Camera
...
captureTarget={Camera.constants.CaptureTarget.temp}
...
</Camera>
我在我的 react-native 应用程序中使用 react-native-camera 并且一切正常,但是当我拍照时,照片保存在我的设备上,这是我不想要的,图像应该发送到api 但没有保存在我的设备上,有人知道我怎样才能让它不保存在设备上吗?
render() {
return(
<View style={styles.container}>
<Camera
style={styles.camera}
ref={ref => {this.camera = ref;}}
type={Camera.constants.Type.back}
flashMode={Camera.constants.FlashMode.on}
orientation={Camera.constants.Orientation.landscapeLeft}>
<TouchableOpacity onPress={this.takePicture.bind(this)} style={{zIndex: 100}}>
<View style={styles.cameraButton}></View>
</TouchableOpacity>
</Camera>
</View>
);
}
takePicture()
{
this.camera.capture()
.then((data) => this.sendData(data))
.catch(err => console.error(err));
}
你可以用这个API,我用它而且很容易发送图片。
https://github.com/react-community/react-native-image-picker
您避免了创建相机视图的工作,当您选择照片(或拍摄照片)时,您会获得它的数据以发送到您想要的地方!
正确答案是编辑 #2!
您可以在我们的仓库中打开一个问题:https://github.com/react-native-community/react-native-camera
图像保存在您应用的缓存目录中。
解决承诺后,对象包含一个 uri,即图像的路径。或者您可以传递选项 base64: true,以从 takePictureAsync 承诺接收图像的 base64 表示形式。
使用base64字符串,您可以将其发送到您的服务器。这就是我们在应用程序中所做的。
编辑:如果您真的不想将其保存在应用程序的缓存目录中,我们可以在 takePictureAsync 方法中创建一个选项来执行此操作。请随时在我们的回购协议中打开一个关于此的问题作为功能请求。
编辑#2:正确答案: 您正在使用 RCTCamera,它默认将图像保存在设备上。
使用属性 captureTarget,传递值 Camera.constants.CaptureTarget.temp。 所以:
<Camera
...
captureTarget={Camera.constants.CaptureTarget.temp}
...
</Camera>