【问题标题】:upload a image contained in a url to Facebook in android将包含在 url 中的图像上传到 android 中的 Facebook
【发布时间】:2012-06-10 17:32:54
【问题描述】:

我使用以下代码将图像上传到我的 Facebook 墙。

    try {
    bitmap=BitmapFactory.decodeFile(imagePostion);
    HttpClient httpClient = new DefaultHttpClient();
    HttpContext localContext = new BasicHttpContext();
    HttpPost httpPost = new HttpPost(
   "https://graph.facebook.com/me/photos?access_token="+ a);
    MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    bitmap.compress(CompressFormat.PNG, 100, bos);
    byte[] data = bos.toByteArray();
    entity.addPart("source", new ByteArrayBody(data, imagePostion));
    httpPost.setEntity(entity);
    HttpResponse response = httpClient.execute(httpPost,localContext);
    Log.v("Response !!!!!!!!",response+"");
    } catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace()
    } catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

我在这一行遇到空指针异常

ByteArrayOutputStream bos = new ByteArrayOutputStream();

需要帮助。

【问题讨论】:

  • a 是我的访问令牌,imagePositon 是包含图像的 url。

标签: android facebook image upload


【解决方案1】:

这里没有图片位图可以上传。创建一个上传图像位图。

添加这一行

bitmap.compress(CompressFormat.JPEG, 100, bos);

之后

ByteArrayOutputStream bos = new ByteArrayOutputStream();

【讨论】:

    【解决方案2】:

    终于搞定了。 MultipartEntity 适用于 Android 2.1 及更高版本。我曾在 1.6 中尝试过。这就是我收到该错误的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      相关资源
      最近更新 更多