Android:如何从SD卡上传图像

问题描述:

在我的应用程序中,我想从SD卡上传图像,限制用户只上传少于2MB。我怎样才能做到这一点?Android:如何从SD卡上传图像

使用以下步骤:

1)使用以下意图打开像册用的图像:

Intent intent = new Intent(); 
intent.setType("image/*"); 
intent.setAction(Intent.ACTION_GET_CONTENT); 
startActivityForResult(Intent.createChooser(intent, "Select Picture"), 101); 

2)在onActivityResult FUNC接收所选择的文件的URI。

if (requestCode == 101 && data != null) { 

      Uri selectedImageUri = data.getData(); 
} else { 
      Toast toast = Toast.makeText(this, "No Image is selected.", 
        Toast.LENGTH_LONG); 
      toast.show(); 
     } 

转换开放的成路径使用以下FUNC:

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); 
    } 

之后,创建从所述路径的File对象,然后检查文件的大小:

File mFile = new File(path); 
int length = mFile.length(); // file size in bytes 

之后您可以简单地将if-else检查文件大小限制,然后使用多部分上传过程来上传文件。

您可以使用此article进行分段上传。

+0

如果您认为答案正确,也请在答案框中勾选勾选框。当他们寻找相同的问题时,这将帮助其他用户。 – mudit 2011-03-25 12:07:42