无法将 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 个人资料公开数据作为媒体(图片和视频)