如何解决React Native Mobile 应用程序与后端的 Slim 框架 - 图片上传问题
我们正在开发一个移动应用程序,我们需要将图像从相机和 galler 上传到我们使用 Alim API 的 php 服务器。但问题是我们从相机拍摄的图像是base64图像,并尝试上传但我们遇到了错误“file_get_contents([object Object]):无法打开流:没有这样的文件或目录”{{3 }}。
public function uploadFileTest($str){
$response = array();
//$encoded_string = base64_encode($str);
$encoded_string = base64_encode(file_get_contents($str));
//echo $encoded_string;
$target_dir = '../profile/'; // add the specific path to save the file
$decoded_file = base64_decode($encoded_string); // decode the file
$mime_type = finfo_buffer(finfo_open(),$decoded_file,FILEINFO_MIME_TYPE); // extract mime type
//echo $decoded_file;
$extension = $this->mime2ext($mime_type); // extract extension from mime type
//echo $extension;
//$file = uniqid() .'.'. $extension; // rename file as a unique name
$file = 'Test.'. $extension; // rename file as a unique name
//$file_dir = $target_dir . uniqid() .'.'. $extension;
$imageName = Date ( "YmdHis" )."_profile_dfds";
$file_dir = $target_dir .(string)$imageName.'.'. $extension;
$file_dir1 = 'Test.'. $extension;
//echo " ".$file_dir." ". $decoded_file;
try {
file_put_contents($file_dir,$decoded_file); // save
//database_saving($file);
//header('Content-Type: application/json');
//echo json_encode("File Uploaded Successfully");
} catch (Exception $e) {
header('Content-Type: application/json');
echo json_encode($e->getMessage());
}
$response["img"] = $file_dir;
return $response;
}
openCamera = async () =>{
var options = {
title: 'Select Image',customButtons: [
{
name: 'customOptionKey',title: 'Choose file from Custom Option'
},],storageOptions: {
skipBackup: true,path: 'images',},};
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,{
title:"STC Permissions",message:"Stc need's to allow your camera Permissions",buttonNutral:"Ask me Latter",buttonPositive:"Yes",buttonNegative:"No"
}
);
if(granted === PermissionsAndroid.RESULTS.GRANTED){
ImagePicker.showImagePicker(options,res =>{
this.setState({
camImage:res.uri
})
})
}else{
alert("Pleace try again");
}
}[enter image description here][2]
enter image description here:2 我需要有关如何解决此图片上传问题的指导,或者我的工作是否有任何替代解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。