簡體   English   中英

從Android中的SD卡將圖像上傳到Facebook

[英]Upload image to facebook from SD card in android

我無法從SD卡上載圖片到Facebook ...我使用了下面的代碼....但它沒有給我錯誤,但同時沒有上載圖片

     byte[] data = null;
     try {
         FileInputStream fis = new FileInputStream(filepath);
         BitmapFactory.Options options = new BitmapFactory.Options();                   
            options.inSampleSize = 2; 
         Bitmap bi = BitmapFactory.decodeStream(fis);

         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
         data = baos.toByteArray();  
      } catch (FileNotFoundException e) { 
         e.printStackTrace();
         Log.d("onCreate", "debug error  e = " + e.toString());
      }     

         Bundle params = new Bundle(); 
         params.putString("method", "photos.upload");  
         params.putByteArray("picture", data);

在下面的代碼段中嘗試從SDCard發送圖片:

將圖像轉換為位圖並繼續

private void postToWall() {   
    AsyncFacebookRunner mAsyncRunner = new   AsyncFacebookRunner(facebook);
    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    bm.compress(Bitmap.CompressFormat.PNG, 100, stream);  // where bm is bitmap from Sdcard
    byte[] byteArray = stream.toByteArray();
    Bundle param = new Bundle();
    param = new Bundle();
    param.putString("message", "All");
    param.putString("filename", "TEst");
    param.putByteArray("image", byteArray);
    mAsyncRunner.request("me/photos", param, "POST", new fbRequestListener(), null);
  }

  public class fbRequestListener implements RequestListener {

      @Override
      public void onComplete(String response, Object state) {
          // TODO Auto-generated method stub
          Log.d("RESPONSE",""+response);

      }

      @Override
      public void onIOException(IOException e, Object state) {
          // TODO Auto-generated method stub
          Log.d("RESPONSE",""+e);

      }

      @Override
      public void onFileNotFoundException(FileNotFoundException e,
              Object state) {
          // TODO Auto-generated method stub
          Log.d("RESPONSE",""+e);

      }

      @Override
      public void onMalformedURLException(MalformedURLException e,
              Object state) {
          // TODO Auto-generated method stub

      }

      @Override
      public void onFacebookError(FacebookError e, Object state) {
          // TODO Auto-generated method stub
          Log.d("RESPONSE",""+e);

      }

      }

您必須這樣做:

 mAsyncRunner = new AsyncFacebookRunner(fbObj);  
  mAsyncRunner.request(null, parameters, "POST",
                        new RequestListener() {

                            @Override
                            public void onMalformedURLException(
                                    MalformedURLException e, Object state) {
                                // TODO Auto-generated method stub

                            }

                            @Override
                            public void onIOException(IOException e, Object state) {
                                // TODO Auto-generated method stub

                            }

                            @Override
                            public void onFileNotFoundException(
                                    FileNotFoundException e, Object state) {
                                // TODO Auto-generated method stub

                            }

                            @Override
                            public void onFacebookError(FacebookError e,
                                    Object state) {
                                // TODO Auto-generated method stub

                            }

                            @Override
                            public void onComplete(String response, Object state) {
                                // TODO Auto-generated method stub
                                Log.i("upload", "image uploaded!!!! " + response);
                            }
                        }, null);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM