2017-04-23 9 views
0

私は以下のコードを使用して、ビデオにアップロードしたい画像をサーバーにアップロードしています。画像はそこにサムネイル画像になります...正しく動作し、画像が表示されますImageView ...しかし、間違っているものは、私はSDカードに保存せずにアップロードすることはできません...私はSDカードURIなしでサーバーに直接ビットマップイメージをアップロードする方法はありますか?アップロードは保存されていませんサーバへのビットマップ

マイコード:

private void chooseVideo() { 
    Intent intent = new Intent(); 
    intent.setType("video/*"); 
    intent.setAction(Intent.ACTION_GET_CONTENT); 
    startActivityForResult(Intent.createChooser(intent, "Select a Video "), SELECT_VIDEO); 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 
     if (requestCode == SELECT_VIDEO) { 
      System.out.println("SELECT_VIDEO"); 
      selectedImageUri = data.getData(); 
      textView.setText(selectedPath); 

      bt = createVideoThumbnail(this, selectedImageUri); 
      iv_image.setImageBitmap(bt); 
     } 
    } 
} 

public static Bitmap createVideoThumbnail(Context context, Uri uri) { 
    Bitmap bitmap = null; 
    MediaMetadataRetriever retriever = new MediaMetadataRetriever(); 
    try { 
     retriever.setDataSource(context, uri); 
     bitmap = retriever.getFrameAtTime(-1); 
    } catch (RuntimeException ex) { 
     // Assume this is a corrupt video file. 
    } finally { 
     try { 
      retriever.release(); 
     } catch (RuntimeException ex) { 
      // Ignore failures while cleaning up. 
     } 
    } 
    return bitmap; 
} 

答えて

0

は、base64が戻って画像に、それをデコードし、この

ByteArrayOutputStream stream = new ByteArrayOutputStream(); 

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
byte[] byte_arr = stream.toByteArray(); 
String image_str = Base64.encodeToString(byte_arr, Base64.DEFAULT); 

が次にサーバーへのimage_strをPOSTしてみてください。

関連する問題