2012-03-10 12 views
0

私はSDカードを持っていないので。 組み込みのギャラリーから画像を選択して、画像をサーバーにアップロードしたいと思います。画像をアップロードinbuiltギャラリー

私はそこから選択できるように、誰でも内蔵ギャラリーに画像を配置する方法についてこれを手伝ってもらえますか?

ヘルプが表示されます。

答えて

1

次のコードからあなたの作り付けのギャラリーに行くことができます:今、onActivityResultは、このようにする必要があり

Button btnBrowse = (Button)findViewById(R.id.btn_browse); 
    btnBrowse.setOnClickListener(new View.OnClickListener() { 

@Override 
public void onClick(View v) { 
Intent intent = new Intent(); 
      intent.setType("image/*"); 
      intent.setAction(Intent.ACTION_GET_CONTENT); 
      startActivityForResult(Intent.createChooser(intent, 
       "Select Picture"), SELECT_PICTURE); 

} 
}); 

。あなたが画像をアップロードすることができます。これにより

public byte[] convertToBytes(String selectedImagePath) 
{ 
try 
{ 
    FileInputStream fs = new FileInputStream(selectedImagePath); 

    Bitmap bitmap = BitmapFactory.decodeStream(fs); 

    ByteArrayOutputStream bOutput = new ByteArrayOutputStream(); 

    bitmap.compress(CompressFormat.JPEG,1, bOutput); 

    byte[] dataImage = bOutput.toByteArray(); 

    return dataImage; 
} 
catch(NullPointerException ex) 
{ 
    ex.printStackTrace(); 
    return null; 
} 
catch (FileNotFoundException e) 
{  
    e.printStackTrace(); 
    return null; 
} 

} 


public String getPath(Uri uri) { 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = managedQuery(uri, projection, null, null, null); 
    int column_index = cursor 
     .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
if (resultCode == RESULT_OK) { 
    if (requestCode == SELECT_PICTURE) { 
     Uri selectedImageUri = data.getData(); 
     selectedImagePath = getPath(selectedImageUri); 
     EditText imageBrowse = (EditText)findViewById(R.id.thumb_url); 
     imageBrowse.setText(selectedImagePath); 
     byte[] strBytes = convertToBytes(selectedImagePath); 

     imageBytes = strBytes; 
    } 
} 
} 

ConvertToBytes方法は次のようにする必要があります。

関連する問題