无法将 facebook 个人资料图片 (Uri) 上传到 Firebase 存储

Posted

技术标签:

【中文标题】无法将 facebook 个人资料图片 (Uri) 上传到 Firebase 存储【英文标题】:Unable to upload facebook profile picture (Uri) to Firebase Storage 【发布时间】:2017-02-23 08:07:52 【问题描述】:

我正在尝试从 facebook 获取个人资料图片,然后将其存储在 firebase 存储中。我可以获取个人资料图片 Uri,但是,我无法将图片上传到 Firebase 存储。 firebase 返回的错误消息是:“发生未知错误......”调试后我还在抛出的异常对象中看到了这条消息,“java.io.FileNotFoundException:没有内容提供者:https://graph.facebook.com...”我已经搜索过在网上,但我找不到任何有用的东西。可能值得注意的是,我可以将其他图片上传到存储中,所以我相信语法是正确的。我在尝试存储 fb 个人资料图片时遇到了问题。任何形式的帮助将不胜感激!

private void saveFbData() 
    FirebaseUser user = mAuth.getCurrentUser();
    final String id = user.getUid();
    Uri fbUserProfilePictureUri = Profile.getCurrentProfile().getProfilePictureUri(125, 125);

    String firstName = Profile.getCurrentProfile().getFirstName();
    String lastName = Profile.getCurrentProfile().getLastName();
    StorageReference filepath = mStorage.child(id).child("ProfilePicture");
    filepath.putFile(fbUserProfilePictureUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() 
        @Override
        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) 
            Toast.makeText(getActivity(), "Successfully stored Profile Picture", Toast.LENGTH_LONG).show();
        
    ).addOnFailureListener(new OnFailureListener() 
        @Override
        public void onFailure(@NonNull Exception e) 
            Toast.makeText(getActivity(), e.toString(), Toast.LENGTH_LONG).show();
        
    );
    UserProfileData uProfileData = new UserProfileData(firstName, lastName);
    mDatabase.child("UserProfileData").child(id).setValue(uProfileData, new DatabaseReference.CompletionListener() 
        @Override
        public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) 
            return;
        
    );

【问题讨论】:

您想在 Firebase 中存储个人资料网址还是个人资料照片? 您好 Ameer,我正在尝试将个人资料照片存储在存储空间中。 你有照片的网址吗?用是指向 fb 个人资料照片 我不太确定你在问什么。在上面的代码中,我利用 facebook sdk 来检索个人资料图片 uri。我曾尝试将个人资料图片作为 url 上传,但这并没有什么不同。另外,在我的代码中还有其他区域,我成功地将照片作为 uri 上传到 Firebase 存储。 【参考方案1】:

根据图表文档,您有一个无效参数,采用 look at this。

【讨论】:

以上是关于无法将 facebook 个人资料图片 (Uri) 上传到 Firebase 存储的主要内容,如果未能解决你的问题,请参考以下文章

iOS:无法将 Facebook 个人资料公开数据作为媒体(图片和视频)

无法从 Facebook 载波上传图片

将 Facebook 个人资料图片放入 UIImage

无法从 Facebook 获取用户的个人资料图片。请看详情

绕过 facebook 个人资料图片,个人资料 ID 到个人资料视图控制器。

如何将我的 Facebook 个人资料图片作为按钮图片 [关闭]