繁体   English   中英

使用Formdata React Native将图像上传到Firebase

[英]Upload image to firebase using Formdata React Native

尝试使用formdata将图像上传到Firebase,但是出现此错误

"Invalid data; couldn't parse JSON object, array, or value."

这是我的代码

const formData = new FormData();
    formData.append('Lname', 'aa');
    formData.append('FName', 'aas');
    formData.append('image', {
        url:image,
        name:'profilePic.jpg',
        type: 'image/jpg'


    })

   const request =  axios({
    method: 'POST',
        url:`https://test2card-e8014.firebaseio.com/profileInfo.json`,
      data: formData,
      headers: {

        'Content-Type': 'multipart/form-data;',
      },
    }).then( response => {

        console.log('log', response.data)
        return response.data
    }).catch(e=>{
    console.log('err',e.response.data)

    })

和即时通讯使用iOS模拟器这是我的图片网址-文件:/// Users / kk / Library / Developer / CoreSimulator / Devices / 3ED3277A-DE0C-478A-AFAE-FE24D67A76DB / data / Containers / Data / Application / D091EAA9-E390-49C8 -AFF7-E862A6A8B93A /文档/图像/ F0FDE0FB-84FE-43BB-8F0C-25D52A223703.jpg

我也可以知道什么是最好的,最有效的方法来完成此任务。

谢谢。

我认为Firebase默认情况下不接受multipart / form-data请求,因此您需要考虑启用它以使您的请求正常工作。

因此,您可以使multipart / form-data请求与firebase一起使用,并使用另一种服务将文件发送到,例如Cloud Storage for Firebase

另外,如果您的文件不会太大,并且您不想配置Firebase也不启用multipart / form-data请求,则可以将文件作为Base64字符串发送,然后让Firebase解码base64字符串在请求处理程序中,然后按计划处理图像。

请记住,发送为Base64将使数据大小增加约1/3,以及将图像转换为base64所需的前端计算。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM