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进行分段上传。
如果您认为答案正确,也请在答案框中勾选勾选框。当他们寻找相同的问题时,这将帮助其他用户。 – mudit 2011-03-25 12:07:42