使用PHP Expo React Native将图像保存在Web服务器上

时间:2020-05-19 19:08:45

标签: react-native axios expo

我需要从React Native应用程序将照片上传到Web文件夹的帮助。

  1. 我正在使用expo-image-picker选择图像..当我选择图像时,我在uri中有类似..

    uri”:“ file:/// Users / svetik / Library / Developer / CoreSimulator / Devices / 6022EA1F-BEBE-459B-B757-9A9A3DF515F9 / data / Containers / Data / Application / B1CEEFCF-F586-4400-BF0E- D1ABE3C3517B / Library / Caches / ExponentExperienceData /%2540libom%252FlocalappApp / ImagePicker / EBEFD27F-C8DF-4D6D-9CBF-888E4C3BD972.jpg“

  2. 在我的Web服务器上,我有PHP脚本:

    false);

    if(isset($ _ POST ['submit'])){ $ target_file = basename($ _ FILES ['file'] ['name']); $ file_type = pathinfo($ target_file,PATHINFO_EXTENSION); $ is_image = getimagesize($ _ FILES ['file'] ['tmp_name']); if($ is_image!== false){ $ data ['image'] = time()。 '。' 。 $ file_type; if(move_uploaded_files($ _ FILES ['file'] ['tmp_name'],$ data ['image'])){ $ data ['status'] = true; }其他{ $ data ['message'] ='上传图片时出错'; } }其他{ $ data ['message'] ='文件不是图像'; } } header('Access-Control-Allow-Origin:*'); header('Content-type:application / json');

    echo json_encode($ data);

  3. 在我的React Native页面中,我使用axios发布图像:

    const uploadPhoto =()=> { 尝试{ //设置网址 var uploadUri = Platform.OS ==='android' ? this.state.image :this.state.image.replace('file://',''); 让base_url ='http://www.example../reactImages/'; 让uploadData = new FormData(); uploadData.append('submit','ok'); uploadData.append('image',uploadUri,'uploadimagetmp.jpg'); axios.post(base_url,uploadData).then((res)=> { console.log(res); }); } catch(err){ console.error(err); // alert('..... EROR ....'); } };

我总是收到错误200,文件不是图像。

在这方面我是一个全新的人……我什至不确定我是否必须发送所有的uri ..或只是在其中发送图片...

有人有什么想法吗?

0 个答案:

没有答案
相关问题