【问题标题】:The image is too small when I try to upload it using Facebook Graph API and Android当我尝试使用 Facebook Graph API 和 Android 上传图像时,图像太小
【发布时间】:2011-05-24 08:31:55
【问题描述】:

简单地说,我需要使用相机捕捉图像并通过我的 android 应用程序将其上传到 facebook。我成功地做到了。问题是当照片发布在 facebook 上时,它太小而且分辨率低,而我拍摄的图像是高分辨率的。

我明白:为了上传到 facebook,我需要将捕获的位图格式的图像转换为字节数组。所以我有办法:

public static byte[] convertBitmapToByteArray(Bitmap bm){
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        bm.compress(CompressFormat.PNG, 100, bos);
        byte[] bitmapdata = bos.toByteArray();
        return bitmapdata;
    }

然后将图像上传到 facebook,我在下面有代码,其中 byteData 是我使用上述方法从位图图像转换而来的字节数组。

parameters.putString("message", "Test");
parameters.putByteArray("source", byteData);
String facebookResponse = facebookInstance.request(albumId+"/photos",parameters,"POST");
        return facebookResponse;

我很确定问题是我的 convertBitmapToByteArray 方法,因为该方法是压缩位图图像并将其转换为字节数组,这使我的图像变成了低分辨率图像。但是,如果不先将其转换为字节数组,我似乎找不到上传图像的方法。有什么解决办法吗?

【问题讨论】:

  • 您尝试过使用 compressformat.JPEG 吗? 100 质量它可能会解决问题

标签: android facebook facebook-graph-api


【解决方案1】:

好吧,即使这个帖子很旧,我也找到了答案。这不是 CompressFormant.JPEG 或 CompressFormat.JPG 的问题。简而言之,Android 中的 Intent 并非旨在通过 Activity 携带像图像这样的大数据。我需要先将图像从意图保存到 sd 卡,然后才能从那里拉出来。这是我的解决方案。

【讨论】:

    猜你喜欢
    • 2021-03-13
    • 1970-01-01
    • 2012-08-15
    • 2016-12-04
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    相关资源
    最近更新 更多